UNICODE编码问题

UNICODE编码问题

今天在ECLIPSE里面看JODE(JAD) CLASS反编译出来的代码,发现汉字都用UNICODE标示,理解起来非常不方便,

例如:

/u65B0/u95FB/u680F/u76EE/u8BBE/u7F6E 

就是汉字:“新闻栏目设置”

为了察看方便,特写一段VB代码来快速转换:

Public Function Find(ByVal strCodes As String) As String
On Error Resume Next
    Dim strRet, strTemp As String
    strRet = ""
    strTemp = ""
    Dim pos As Integer
    pos = 0
    Dim lngCode As Long
    Dim strTemp2 As String
   
    Dim strlist() As String
    strlist = Split(strCodes, "/")
    For pos = 0 To UBound(strlist)
   
'        Debug.Print strlist(pos)
'        strTemp = FindHZ(strlist(pos))
'        Debug.Print Right(strlist(pos), 4)
        strTemp2 = strlist(pos)

        If Len(strTemp2) > 0 Then
                If Len(strTemp2) = 5 Then
                    If Left(strTemp2, 1) = "u" Then
                        lngCode = CLng("&H" & Right(strTemp2, 4))
               
                        strTemp = ChrW$(lngCode)
               
                    Else
                        strTemp = strTemp2
                    End If
                Else
                    If Len(strTemp2) > 5 Then
                        If Left(strTemp2, 1) = "u" Then
                           
                            lngCode = CLng("&H" & Mid(strTemp2, 2, 4))
               
                            strTemp = ChrW$(lngCode)
                            strTemp = strTemp & Right(strTemp2, Len(strTemp2) - 5)
                           
                        Else
                            strTemp = strTemp2
                       
                        End If
                   
                    Else
                        strTemp = strTemp2
                   
                    End If
                   
               
                End If
               
                If Len(strTemp) > 0 Then
                    strRet = strRet & strTemp
                Else
                    strRet = strRet & "X"
                End If
       
        End If
'        Debug.Print strRet
    Next
   
'    Do While (pos >= 0)
'        pos = InStr(0, strCodes, "u", vbTextCompare)
'        Split
'        Debug.Print pos
'        strTemp = Mid(strCodes, pos, 5)
'        Debug.Print strTemp
'        strCodes = Right(strCodes, Len(strCodes) - pos - 5)
'        Debug.Print strCodes
'
'        strRet = strRet & FindHZ(strTemp)
'
'    Loop
   
    Find = strRet
'    Clipboard.SetText strRet, vbCFText
   
   
End Function

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值