重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
GB2312是GBK编码的子集,使用GBK编码函数即可
网站建设哪家好,找创新互联!专注于网页设计、网站建设、微信开发、成都小程序开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了壶关免费建站欢迎大家使用!
'GBK编码(结果以百分号%进行分隔)
Public Function GBKEncode(ByVal sInput As String) As String
Dim ret_GBKEncode As String = ""
Dim i As Integer
Dim startIndex As Integer = 0
Dim endIndex As Integer
Dim x() As Byte = System.Text.Encoding.Default.GetBytes(sInput) '字符以及字符串在vb2008中都是以unicode编码存储的
endIndex = x.Length - 1
For i = startIndex To endIndex
ret_GBKEncode = "%" Hex(x(i))
Next
Return ret_GBKEncode
End Function
'GBK解码
Public Function GBKDecode(ByVal sInput As String) As String
sInput = sInput.Replace("%", "")
Dim ret_GBKDecode As String = ""
Dim sLen As Integer = sInput.Length
Dim n As Integer = sLen \ 2
Dim sBytes(0 To n - 1) As Byte
'转化为字节码
For i As Integer = 1 To n
sBytes(i - 1) = CByte("H" sInput.Substring(2 * i - 2, 2))
Next
'将字节码转化为字符串
ret_GBKDecode = System.Text.Encoding.Default.GetString(sBytes)
Return ret_GBKDecode
End Function
Imports System.Text
Public Function StringAsUtf8Bytes(ByVal strData As String) As Byte()
Dim bytes() As Byte
bytes = Encoding.UTF8.GetBytes(strData)
Return bytes
End Function
说明:strData参数是GB2312字符串,函数返回UTF8字节数组
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim S1 As String
Dim S2 As String
Dim S3 As String
Dim I1 As String
S1 = "\u652f\u4ed8\u5b9d"
S1 = Trim(S1)
Do While Len(S1) 1
I1 = InStr(1, S1, "\u")
If I1 0 Then
S3 = S3 Strings.Left(S1, I1 - 1)
S2 = "H" Mid(S1, I1 + 2, 4)
S2 = ChrW(S2)
S3 = S3 S2
S1 = Strings.Right(S1, Len(S1) - I1 - 5)
Else
S3 = S3 S1
S1 = ""
End If
Loop
MsgBox(S3)
End Sub