VB.net(VB6)String类型、中文、日文与Unicode互相转换
VB.net(VB6)String类型、中文、日文与Unicode互相转换
原文地址:https://blog.csdn.net/boys1999/article/details/23214065
首先添加引用
Imports System.Text.RegularExpressions
①将unicode转成中文,如:ABC \u8033\u9EA6 12345,转后为:ABC 耳麦 12345
'将unicode转成中文,如:ZRO \u8033\u9EA6 12345,转后为:ZRO 耳麦 12345Public Function UnicodeToString(strCode As String) As StringUnicodeToString= strCodeIf InStr(UnicodeToString, "\u") <= 0 ThenExit FunctionEnd IfstrCode = LCase(strCode)Dim mc As MatchCollectionmc = Regex.Matches(strCode, "\\u\S{1,4}")For Each m In mcstrCode = Replace(strCode, m.ToString, ChrW("&H" & Mid(CStr(m.ToString), 3, 6)))NextUnicodeToString= strCodeEnd Function
②将中文转为unicode编码,如:ABC 耳麦 12345,转后为:ABC \u8033\u9EA6 12345
'将中文转为unicode编码,如:ZRO 耳麦 12345,转后为:ZRO \u8033\u9EA6 12345
Function StringToUnicode(strCode As String) As StringDim a() As StringDim str As StringDim i As IntegerFor i = 0 To Len(strCode) - 1On Error Resume Nextstr = Mid(strCode, i + 1, 1)If isChinese(str) = True Then '//是中文StringToUnicode= StringToUnicode & "\u" & StrDup(4 - Len(Hex(AscW(str))), "0") & Hex(AscW(str))Else '//不是中文StringToUnicode= StringToUnicode & strEnd IfNext
End Function'是否为中文
Public Function isChinese(Text As String) As BooleanDim l As LongDim i As Longl = Len(Text)isChinese = FalseFor i = 1 To lIf Asc(Mid(Text, i, 1)) < 0 Or Asc(Mid(Text, i, 1)) < 0 ThenisChinese = TrueExit FunctionEnd IfNextEnd Function
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
