utf8转unicode(lua中如何utf8转unicode)
本文目录
lua中如何utf8转unicode
先搞明白utf-8和unicode是什么关系……utf-8是unicode的一种编码格式
如果说是utf-8转utf-32的话,lua user wiki上有个范例程序:
function Utf8to32(utf8str)assert(type(utf8str) == "string")local res, seq, val = {}, 0, nilfor i = 1, #utf8str dolocal c = string.byte(utf8str, i)if seq == 0 thentable.insert(res, val)seq = c 《 0x80 and 1 or c 《 0xE0 and 2 or c 《 0xF0 and 3 or c 《 0xF8 and 4 or --c 《 0xFC and 5 or c 《 0xFE and 6 or error("invalid UTF-8 character sequence")val = bit32.band(c, 2^(8-seq) - 1)elseval = bit32.bor(bit32.lshift(val, 6), bit32.band(c, 0x3F))endseq = seq - 1endtable.insert(res, val)table.insert(res, 0)return resend--注意上述代码返回的是一个table,可能需要自行concat成字符串
但如果是utf-8转其他编码(GB2312,GBK等),还是找第三方C库吧,ICU和iconv应该都有lua绑定
java怎么把UTF-8里面的汉字转成Unicode
string.getbytes("ISO646-US")Unicode当然是一个很大的集合,现在的规模可以容纳100多万个符号。每个符号的编码都不一样,比如,U+0639表示阿拉伯字母Ain,U+0041表示英语的大写字母A,“汉”这个字的Unicode编码是U+6C49。Unicode固然统一了编码方式,但是它的效率不高,比如UCS-4(Unicode的标准之一)规定用4个字节存储一个符号,那么每个英文字母前都必然有三个字节是0,这对存储和传输来说都很耗资源。
如何把UTF8转换成UNICODE
的文件转换成 UCS-2 只需简单地在每个 ASCII 字节前插入 0x00。反之去处0x00。 5:而一个unicode格式的文本要转为utf-8格式的文本,那么根据下图所示:
VB utf8转unicode的代码!要汉字不会乱码的!
试下这个代码 如果你的UTF8 没有错误编码 应该不会错 Private BasicChr() As Byte = {&H80, &H40, &H20, &H10, &H8, &H4} Function UTFToUnicode(bytes() As Byte) As String On Error Resume Next Dim l As long,i as long,j as long l = UBound(bytes) Dim s As String s = "" For i = 0 To l Dim index As long Dim b As long For index = 0 To UBound(BasicChr) If (bytes(i) And BasicChr(index)) = 0 Then Exit For Next b = bytes(i) If index 》 1 Then For j = 1 To index - 1 If (bytes(i + j) And &HC0) = &H80 Then ’ b = (b 《《 6) Or (bytes(i + j) And &H3F) b = (b * &H40) Or (bytes(i + j) And &H3F) Else MsgBox("不是UTF编码 :&H" & Hex(bytes(i + j))) End If Next i += index - 1 End If Select Case index Case 0 b = b And &H7F Case 1 ’ Case 2 b = b And &H7FF Case 3 b = b And &HFFFF Case 4 b = b And &H1FFFFF Case 5 b = b And &H3FFFFFF Case 6 b = b And &H7FFFFFFF End Select s = s & ChrW(b) ’s &= ChrW(b) Next UTFToUnicode = s ’Return s End Function
本文相关文章:
utf8与unicode的区别(unicode和utf8的区别)
2024年8月20日 16:55
navicat字体大小设置(Navicat 怎么ba表格转换成utf8)
2024年7月22日 10:27
latin1编码转换为utf8(用perl将含有波斯文的latin1的文件转成utf8的文件,求大神帮助)
2024年7月3日 01:21
更多文章:
bootstrap可视化布局教程(你好 我用bootstrap这个可视化编辑拖动没有反应 拖不进去 怎么回事呢 麻烦你了)
2024年8月28日 17:30
oracle vm virtualbox安装增强功能(Oracle VM VirtualBox为什么无法安装增强功能)
2024年8月19日 19:30
phpstorm 代码格式化 规范(phpstorm中导入的css全在一行怎么办)
2024年9月26日 16:19
编写一个延时1s的延时函数(51单片机延时一秒函数,晶振12MHZ)
2024年7月16日 13:30
函数值域的求法及解析(函数值域的求法_分类例析函数值域的常用求法)
2024年7月4日 20:55
南京it培训机构哪家好(人在南京 想学java开发有哪家培训机构可以推荐)
2024年6月20日 20:37
如何使用cdr简单制图(如何使用coreldraw x4简体中.矢量绘图软件)
2024年7月23日 03:09
个人商城源码下载(TPshopO2O商城系统源码三大选择途径哪种最靠谱)
2024年6月27日 22:01
androidauto破解映射(用Android还是Android Auto,这是个问题)
2024年6月29日 23:20
sqlplus as sysdba(使用sqlplus “/ as sysdba“的情况)
2024年6月10日 10:02