vb点虐 用GetBytes时GBK特殊字符乱码,中文正常
GetBytes 方法是获取字符串的字节数组序列,与之相反的是
专注于为中小企业提供成都网站制作、成都做网站、外贸营销网站建设服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业高州免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了1000+企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。
Encoding.GetString 方法,把字节数组还原成字符串,参考:
vb点虐 写入sqlite 中文时,在sqlite显示的是乱码,这样不好管理,请问怎么解决?
并非SQLite的乱码。windows的命令行console窗口只支持GBK的汉字。。
数据库内容为unicode/utf8/utf16等其他汉字编码时,将不能在win命令行窗口显示正确。
建一个console.bat文件,写上
chcp 65001
cmd
然后建一个快捷方式到这个文件,把快捷方式的字体改成宋体
然后就可以使用sqlite命令并显示utf-8的内容
或者,库中的文字也用GBK编码,就可直接显示。
gb2312>unicode>utf8, 以及逆转的方法'>VB点虐 字符转换问题 字符(汉字、数字、字母、符号)>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
'这里可以类推出好几种。
网页标题:vb点虐 gbk的简单介绍
分享网址:http://scyingshan.cn/article/ddjjghp.html