汉字编码问题???在线

cn唐三藏 2003-09-14 10:21:59
在网上下载的wma文件中有很多本网站的信息。在winamp中就根本显示不了
它本来的歌名了。本人很是郁闷。想把那些信息都改成歌的名字。可是找到
修改位置后,遇到汉字编码的问题。那些汉字不知道是什么码。汉字英文都是
两个字节显示的(用utrledit打开)。 请高手指点。最好有wma文件的格式文章
...全文
47 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
abc10 2003-09-14
  • 打赏
  • 举报
回复
Public Function Strcode2(StringX As String) As String
Dim i As Long
Dim j As Long
Dim sByte() As Byte
For i = 0 To Len(Trim(StringX)) - 1
If (Asc(Mid(StringX, i + 1, 1)) >= Asc("0") And Asc(Mid(StringX, i + 1, 1)) <= Asc("9")) Or (Asc(Mid(StringX, i + 1, 1)) >= Asc("@") And Asc(Mid(StringX, i + 1, 1)) <= Asc("Z")) Or (Asc(Mid(StringX, i + 1, 1)) >= Asc("a") And Asc(Mid(StringX, i + 1, 1)) <= Asc("z")) Then
Strcode2 = Strcode2 & Mid(StringX, i + 1, 1)
Else
sByte = StrConv(Mid(StringX, i + 1, 1), vbFromUnicode)
For j = LBound(sByte) To UBound(sByte)
Strcode2 = Strcode2 & Hex(sByte(j))
Next j
End If
Next i
End Function

Private Function Strcode1(str As String) As String
Dim sByte(1) As Byte
sByte(0) = Val("&H" & Mid(str, 1, 2))
sByte(1) = Val("&H" & Mid(str, 3, 2))
Strcode1 = StrConv(sByte, vbUnicode)
End Function

Private Sub Form_Load()
Dim aa As String
aa = "中"

MsgBox aa & " 对应的十六进制编码为: " & Strcode2(aa)

aa = Strcode2(aa) '这是一个十六进制的编码
MsgBox aa & " 对应的中文为: " & Strcode1(aa)


End Sub
abc10 2003-09-14
  • 打赏
  • 举报
回复
先转成十六进制,再转成中文
rainstormmaster 2003-09-14
  • 打赏
  • 举报
回复
unicode
sworddx 2003-09-14
  • 打赏
  • 举报
回复
一个是GB2312,一个是UNICODE,当然不能兼容。

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧