{\urtf{\fonttbl{\f0\a 宋体}{\f1\fnil Comic Sans MS;}}{\colortbl ;\red0\green255\blue0;\red255\green0\blue255;}\pard\cf1\f0\fs130\u39532?\cf2\f1\par }u39532? 以上这段代码可以在rtf中显示个“马”字 那个“u39532?”是什么编码呢  如何把汉字转换成这类编码?我在rtf中储存显示的内容为
{\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset134 \'cb\'ce\'cc\'e5;}{\f1\fnil Comic Sans MS;}}
{\colortbl ;\red0\green255\blue0;\red255\green0\blue255;}
\viewkind4\uc1\pard\cf1\lang2052\f0\fs130\'c2\'ed\cf2\f1 
\par }

解决方案 »

  1.   

    //以上这段代码可以在rtf中显示个“马”字 那个“u39532?”是什么编码呢  如何把汉字转换成这类编码?chrw(39532) 即为 马至于转换 用 ascw("马") 即可得到39532 至于前缀u,应该代表这是unicode编码总之,灵活运用chrw和ascw即可
      

  2.   

    楼上的朋友 我ascw("马")得到的是-26004 用chrw也一样返回"马"
      

  3.   

    又试了下39532也认 为什么在unicode里同时认呢 怎么把-26004转换成正值
      

  4.   

    我又尝试了转换“我”只有一种unicode编码25105
      

  5.   

    呵呵,ascw有可能返回负值,这时只要加上65536即可:
    Private Sub Command1_Click()
        Dim s As String
        s = "我是中国人"
        Dim i As Long, tmps As String, j As Long
        For i = 1 To Len(s)
        tmps = Mid(s, i, 1)
        Debug.Print ChrW(getunicode(tmps))
        Next
    End Sub
    '封装了一个函数
    Private Function getunicode(ByVal s As String) As Long
        If Len(s) <> 1 Then
            getunicode = 0
            Exit Function
        End If
        Dim i As Long
        i = AscW(s)
        If i < 0 Then
            i = 65536 + i
        End If
        getunicode = i
    End Function'简单验证
    Private Sub Command1_Click()
        Dim s As String
        s = "我是中国人"
        Dim i As Long, tmps As String, j As Long
        For i = 1 To Len(s)
        tmps = Mid(s, i, 1)
        Debug.Print ChrW(getunicode(tmps))
        Next
    End Sub