行業(yè)動(dòng)態(tài)
asp gbk轉(zhuǎn)UTF函數(shù),ASP中文轉(zhuǎn)UTF函數(shù)
發(fā)布日期:2012-08-23 閱讀次數(shù):3709 字體大?。?a href="javascript:;" onclick="ChangeFontSize('content',16)">大

今天易天科技在開(kāi)發(fā)由一個(gè)網(wǎng)站向另外一個(gè)網(wǎng)站提交信息的接口時(shí),由于接口只支持中文的UTF-8編碼方式,而網(wǎng)站又是GB2312編碼,用UTF-8做的頁(yè)面可以正常發(fā)送短信了,但想想這樣兩種編碼分開(kāi)來(lái),對(duì)網(wǎng)站系統(tǒng)的整合還是很方便,易天技術(shù)試了很多代碼,終于還是調(diào)試出這個(gè)GB2312轉(zhuǎn)UTF-8編碼的函數(shù),分享出來(lái)給大家。

 

ASP/Visual Basic代碼
  1. Private Function YiskyGBtoUTF8(szInput)    
  2. Dim wch, uch, szRet    
  3. Dim x    
  4. Dim nAsc, nAsc2, nAsc3    
  5. If szInput = "" Then    
  6. YiskyGBtoUTF8= szInput    
  7. Exit Function    
  8. End If    
  9. For x = 1 To Len(szInput)    
  10. wch = Mid(szInput, x, 1)    
  11. nAsc = AscW(wch)    
  12. If nAsc < 0 Then nAsc = nAsc + 65536    
  13. If (nAsc And &HFF80) = 0 Then    
  14. szRet = szRet & wch    
  15. Else    
  16. If (nAsc And &HF000) = 0 Then    
  17. uch = "%" & Hex(((nAsc \ 2 ^ 6)) Or &HC0) & Hex(nAsc And &H3F Or &H80)    
  18. szRet = szRet & uch    
  19. Else    
  20. uch = "%" & Hex((nAsc \ 2 ^ 12) Or &HE0) & "%" & _    
  21. Hex((nAsc \ 2 ^ 6) And &H3F Or &H80) & "%" & _    
  22. Hex(nAsc And &H3F Or &H80)    
  23. szRet = szRet & uch    
  24. End If    
  25. End If    
  26. Next    
  27. YiskyGBtoUTF8= szRet    
  28. End Function  

使用時(shí):a=GBtoUTF8(字符串變量)