
请问在VB中如何将unicode转换成GBK码发送,要任意字符串的。这是一段文字转成unicode的,然后再转成gbk
PrivateSubCommand1_Click()OnErrorResumeNextDimaaAsStringDimbbAsStringDimccAsStringDim...
Private Sub Command1_Click() On Error Resume Next Dim aa As String Dim bb As String Dim cc As String Dim strTemp As String Dim i As Long aa = Text1.Text cc = "00" For i = 0 To Len(aa) - 1 bb = Mid(aa, i + 1, 1) If Asc(bb) < 0 Then strTemp = strTemp & Hex(AscW(Mid(aa, i + 1, 1))) ElseIf Asc(bb) > 0 Then strTemp = strTemp & cc & Hex(AscW(Mid(aa, i + 1, 1))) End If Next i Text2.Text = strTempEnd Sub
展开
展开全部
GBK编码与Unicode编码“兼容”,应该说它们的编码是一致的吧?
也就是说你转换出的Unicode编码就是你要的GBK编码呀。
如果要转换成你要的这种“格式”的Unicode编码,For循环中没必要用If去判断。
这样就行了:
strTemp = ""
For i = 1 To Len(aa)
strTemp = strTemp & Right$("0000" & Hex$(AscW((Mid$(aa, i, 1)))), 4)
Next
Text2.Text = strTemp
追问
2个的编码表都不一样啊
追答
那你试试把 AscW( ) 改成 Asc( )看看,转换出的编码是否对的(就是把那个W去掉)。
我查“LocalID 列表”,这里面没有 GBK 这个代码页。
我想,如果GBK编码不是用的Unicode编码,那么GB2312汉字的编码在GBK中应该是相同的。
展开全部
StrConv("嘎嘎亚亚hello", vbFromUnicode)
结果就是GBK编码的了~~
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果是为了字符传输、而保证接收方不出现问题的话、也可以采用先转换为url编码然后接收方反编译就可以了。我以前做的.NET与PHP就是使用这种形式处理的。
具体转码方法可以参考一下http://zhidao.baidu.com/link?url=czyDy14UlLEud5ov2bCA4A9LCnB8BHOlsMGRdmOKLGjuNrlYF4xiPha9FHS1Tm31ItD8_sU6MfeLMpg4YLzfAq
具体转码方法可以参考一下http://zhidao.baidu.com/link?url=czyDy14UlLEud5ov2bCA4A9LCnB8BHOlsMGRdmOKLGjuNrlYF4xiPha9FHS1Tm31ItD8_sU6MfeLMpg4YLzfAq
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询