永发信息网

VB.net 字符转换问题 字符(汉字、数字、字母、符号)>gb2312>unicode>utf8, 以及逆转的方法

答案:1  悬赏:30  手机版
解决时间 2021-04-06 20:50
VB.net 字符转换问题 字符(汉字、数字、字母、符号)>gb2312>unicode>utf8, 以及逆转的方法
最佳答案
字符编码转换吗?

1.字符与gb2312(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

2.Unicode字符串为UTF-8

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
'这里可以类推出好几种。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
15岁算是早恋吗?
w10电脑忘记密码,重置又出问题怎么办。
“规劝别人珍惜时间,发愤学习”的古诗有哪
白色房间搭配红色真皮沙发效果怎样
一个女生对男生说“碧海蓝天”那有几种意思
浙江省开化县第三初级中学地址有知道的么?有
gestetner怎样进行双面打印
5道六年级奥数题求解答 最好还有思路 【发鬼
我是2010年大学毕业生,现在想读临床医学这个
白血球在身体中起什么作用?
全国有没有因为被兔子挠得狂犬病的
阅读下面的文字,按要求作文。(50分)成长的
李娜演员的微博
道闸机有哪些功能,适用场合
那个靛羽风莲不是素还真的化身么?百度一下后
推荐资讯
左边屁股疼是什么原因
德阳皇冠ktv的服务员是配的还是客人自己选的
'永'的黑体字,宋体字怎么写
汽车加油把柴油当成汽油加了怎么办
怎么买房最划算,除了一次性付清,
外交部雷克中的夫人
华峰石材批发怎么去啊,有知道地址的么
什么地可方以买到男生天力酒
上海火车站到瑞泰酒店坐地铁怎么坐?
石家庄二院打瘦脸针好吗?有谁在二院打过呢?
水浒扮演宋江的演员是谁
听说小拇指汽修连锁店做油漆非常快,山西晋城
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?