vb uft-8至gb2312
以下内容转自我的百度空房间,我收藏的。在这里,如果你觉得版面不好,可以直接看我空房间里的文章:http://hi.baidu.com/newkedison/blog/item/1C7D2C 392 cc11。
关于UTF-8的一些信息2008年6月13日星期五08:17首先,最重要的是UTF-8和Unicode之间的转换。
UTF-8编码是一种广泛使用的编码,致力于将全球语言整合成一个统一的编码。目前已经收录了几种亚洲语言。表示UCS转换格式。
UTF-8使用可变长度字节来表示字符,理论上可以达到6个字节。UTF-8编码兼容ASC II(0-127),也就是说,UTF-8编码ASC II字符与ASC II相同。对于长度超过一个字节的字符,使用以下编码规范:
左边第一个字节1的数字表示这个字符编码字节的位数。比如一个双字节字符的编码样式是:110xxxxx 10xxxxxx;三字节字符的编码样式为:1110XXXX 10XXXXXX 10XXXXXX。以此类推,六字节字符的编码样式为:111110 x 10 xxxxx 10 xxxxx 10 xxxxx 10 xxxxx 10 xxxxx 10 xxxxx 10 xxxxx。xxx的值由字符代码的二进制表示的位填充。只有最短的一个就足以表示一个字符编码的多字节字符串。例如:
Unicode字符:00 A9(版权符号)= 1010 1001,UTF-8编码:1100010101001 = 0xC2 0xA9字符22 60(不等于符号)= 0010 0010 0110 0000,UTF-8编码为:11100010 10001 10100000 = 0x e 20 x89 0xa 0
上述转换实例已被证实是正确的。毫无疑问,如果你不理解他们,请再想想。
Unicode编码和utf-8编码之间的对应表
下表总结了这些不同八位字节类型的格式。
字母x表示可用于编码的位
字符数。
夏尔。数字范围
UTF-8八位字节序列
(十六进制)
(二进制)
–
–
0000 0000-0000 007F
0xxxxxxx
0000 0080-0000 07FF
110 xxxxx 10 xxxxx
0000 0800-0000 FFFF
1110 xxxxx 10 xxxxx 10 xxxxx/////A///////////
0001 0000-0010 FFFF
11110 xxxxx 10 xxxxx 10 xxxxx 10 xxxxx
这是Unicode编码和utf-8编码之间的对应表。中文的Unicode编码范围是0000 0800-0000 FFFF。
第二,关于BOM
UTF-8以字节为编码单位,不存在字节顺序的问题。UTF-16以两个字节作为编码单位。在解释UTF-16文本之前,我们必须首先弄清楚每个编码单元的字节顺序。比如收到的“奎”的Unicode编码是594E,“B”的Unicode编码是4E59。如果我们接收到UTF-16字节流“594E”,那么这是“亏”还是“B”?
Unicode规范中标记字节顺序的推荐方法是BOM。不是物料清单BOM,而是字节顺序标记。BOM是一个小聪明的主意:
在UCS代码中有一个称为“零宽度不间断空格”。字符,其编码是FEFF。FFFE是UCS中不存在的角色,所以实际传输中应该不会出现。UCS规范建议我们在传输字节流之前先传输字符。零宽度不间断空格& quot。
这样,如果接收方收到FEFF,就表明这个字节流是Big-Endian;如果收到FFFE,意味着这个字节流属于Little-Endian。因此,字符“零宽度不间断空格& quot也称为BOM。
UTF-8不需要BOM来表示字节顺序,但是可以用BOM来表示编码方式。字符“零宽度不换行空格& quotUTF-8编码是EF BB BF(读者可以用我们之前介绍的编码方法来验证)。因此,如果接收器接收到以EF BB BF开始的字节流,它知道这是UTF-8编码。
第三,VB实现了UTF-8到Unicode的功能
1.不要使用API
函数Utf8ToUnicode(ByRef Utf() As Byte)作为字符串
Dim utfLen一样长
utfLen = -1
出错时继续下一步
utfLen = UBound(Utf)
如果utfLen = -1,则退出函数
出错时转到0
Dim i一样长,j一样长,k一样长,N一样长
Dim B为字节,cnt为字节
Dim Buf()作为字符串
雷迪姆·布夫(乌特弗隆)
i = 0
j = 0
当我& lt= utfLen
B = Utf(i)
如果(B和&HFC) = &HFC,则
cnt = 6
ElseIf (B和&HF8) = &HF8 Then
cnt = 5
ElseIf (B和&HF0) = &HF0然后
cnt = 4
ElseIf (B和&HE0) = &HE0 Then
cnt = 3
ElseIf (B和&HC0) = &HC0然后
cnt = 2
其他
cnt = 1
如果…就会结束
如果I
CNT-1 & gt;那就去乌特夫伦
buf(j)= & quot;?”
出口Do
如果…就会结束
选择案例中心
案例2
N = B和&H1F
案例3
N = B和&HF
案例4
N = B和&H7
案例5
N = B和&H3
案例6
N = B和&H1
其他情况
Buf(j) = Chr(B)
后藤继续说道:
结束选择
对于k = 1至cnt – 1
B = Utf(i
k)
N = N * &H40
(B和&H3F)
然后
Buf(j) = ChrW(N)
继续:
i = i
cnt
j = j
1
环
Utf8ToUnicode = Join(Buf,& quot”)
结束功能
2.使用API(包括UTF-8的Unicode)
私有声明函数WideCharToMultiByte Lib & quotkernel32 & quot(ByVal CodePage为Long,ByVal dwFlags为Long,ByVal lpWideCharStr为Long,ByVal cchWideChar为Long,ByRef lpMultiByteStr为Any,ByVal cchMultiByte为Long,ByVal lpDefaultChar为String,ByVal lpUsedDefaultChar为Long)
私有声明函数MultiByteToWideChar Lib & quotkernel32 & quot(ByVal CodePage为Long,ByVal dwFlags为Long,ByVal lpMultiByteStr为Long,ByVal cchMultiByte为Long,ByVal lpWideCharStr为Long,ByVal cchWideChar为Long)为Long
私有常量CP_UTF8 = 65001
函数Utf8ToUnicode(ByRef Utf() As Byte)作为字符串
Dim lRet一样长
长度变长
Dim lBufferSize一样长
length = UBound(Utf)-LBound(Utf)
1
If lLength & lt= 0,然后退出功能
lBufferSize = lLength * 2
utf 8 touni code = String $(lBufferSize,Chr(0))
lRet = MultiByteToWideChar(CP _ UTF8,0,VarPtr(Utf(0)),lLength,StrPtr(Utf8ToUnicode),lBufferSize)
如果lRet & lt& gt那么0
ut F8 touni code = Left(ut F8 touni code,lRet)
如果…就会结束
结束功能
函数unicode tout F8(ByVal UCS As String)As Byte()
长度变长
Dim lBufferSize一样长
Dim lResult As Long
Dim abUTF8()作为字节
Length = Len(UCS)
如果Length = 0,则退出函数
lBufferSize = length * 3
1
ReDim邻接F8(lBufferSize – 1)
lResult = WideCharToMultiByte(CP _ UTF8,0,StrPtr(UCS),lLength,abUTF8(0),lBufferSize,vbNullString,0)
如果lResult & lt& gt那么0
lResult = lResult – 1
ReDim保留邻接F8(lResult)
UnicodeToUtf8 = abUTF8
如果…就会结束
结束功能
私有子命令1_Click()
Dim byt() As Byte
byt = UnicodeToUtf8测试”)
调试。打印十六进制(字节(0)) &十六进制(字节(1)) &十六进制(字节(2))
调试。打印Utf8ToUnicode(byt())
末端接头
怎样注册网站?
您好,步骤如下:
1、网站内容的准备:作为对外宣传和运营的整个网络来说,拥有一个界面良好、功能其全的网站是一切工作的开端。对于网站内容的获取方式,一方面可以自己通过相关的建站工具来做开发,另一方面可以购买网站的模板来快速生成网页。但无论采取何种建站方式,良好的用户界面和完善的功能会使整个网站的宣传力度得到大幅度提高。一个网站包括诸多个网页,而每一个网页都是基于HTML语言,外加诸多其它动态语言完成其特殊效果。
2、域名的准备:为了能够使人们更容易的记住一个网站的地址,域名就应用而生,利用域名,免去了直接记忆IP地址带来的不便,同时,域名也带有丰富的信息,通过对域名的识别,从中可了解网站的性质和用途。对于一个将要公开于互联网的网站来说,具有域名的支持是必须要完成的工作。对于域名的获取方法,一种是在网络上直接免费注册。另一种方法是对于一些特殊、具有重要含义的域名,可能需要通过付费的方法来完成注册和使用。一种较为简单的获取域名方式是通过注册花生壳用户来获取一个免费的域名。
3、空间的准备:网站作为文件的集合,就需要被放在相应的载体中才能真正发挥作用,同样,我们建设的网站也必须要放在相应的磁盘空间中才能发挥其应有的作用,这个空间可以位于本地计算机,也可以是远程网络中的计算机。但为了网络的稳定性和方便管理性,用于存放网站的空间一般位于远程主机上,同时这需要按年份付一定的费用。一旦你获取了空间后,服务商会给你提供FTP相关的登陆认证信息,该信息包括用户名和密码以及要登陆的IP地址等信息,有了这么信息后,你才能通过相应的上传软件(如FlashFtp)将网站的内容上传到远程空间里。
4、网站的备案:为了网站的合法运营,就必须将已发布的网站进行注册。注册的方式有两种,一种是自己通过访问相应的官方网站来实现网站的备案,另一种方式是要求你购买空间的网络公司帮你备案。
5、网站的运营:其实在整个网站的运营过程中,网站的宣传和推广是最花费时间和精力的,其执行的好坏直接影响网站的效益。因此就必须要有专业团队来完成整个网站的维护和优化,以随着时间的推移不断更新和丰富网站的内容和影响力。
希望能帮到你
三星手机主页如何设置?
手机设置互联网首页方法如下:
1.互联网-右上角更多(或右上角三个小点图标)-设定-主页(设置主页)。部分手机操作:互联网-左下角菜单键-设定-(一般)-设置主页。
2.选择设置主页的类型,以“其他网页”为例,输入需要设置为主页的网址,并点击确定。
3.返回到默认网页-右下角“页面”或“标签”(部分机器:点击地址栏右侧的【窗口计数】图标-点击【减号】图标)-关闭所有窗口页面,直到屏幕上显示“无窗口”或“无分页”。
4.退出浏览器重新进入,将自动加载设置好的网页。
什么是用户主页地址?
就是打开网页的第一个网页的地址,在很多软件上的主页地址就是自己的私人空间的地址,或者关于自己的网站的地址。
主页,亦称首页、起始页,是用户打开浏览器时自动打开的一个或多个网页。首页也可以指一个网站的入口网页,即打开网站后看到的第一个页面,大多数作为首页的文件名是index、default、main或portal加上扩展名。
网站的首页是一个文档,当一个网站服务器收到一台电脑上网络浏览器的消息连结请求时,便会向这台电脑发送这个文档。
当在浏览器的地址栏输入域名,而未指向特定目录或文件时,通常浏览器会打开网站的首页。
网站首页往往会被编辑得易于了解该网站提供的信息,并引导互联网用户浏览网站其他部分的内容。这部分内容一般被认为是一个目录性质的内容。
支付宝首页变成灰色怎么回事?
支付宝里的界面突然之间变成了灰色灰屏,然后其他页面都正常,那考虑是你手机占的内存比较大,你清理一下手机,然后把支付宝退出去重新登录一下,把网络也关机重启一下,这应该是你的手机问题的,支付宝一般情况下都是可以正常用的,
三星手机怎么设置浏览器主页?
手机设置互联网首页方法如下:
1.互联网-右上角更多(或右上角三个小点图标)-设定-主页(设置主页)。部分手机操作:互联网-左下角菜单键-设定-(一般)-设置主页。
2.选择设置主页的类型,以“其他网页”为例,输入需要设置为主页的网址,并点击确定。
3.返回到默认网页-右下角“页面”或“标签”(部分机器:点击地址栏右侧的【窗口计数】图标-点击【减号】图标)-关闭所有窗口页面,直到屏幕上显示“无窗口”或“无分页”。
4.退出浏览器重新进入,将自动加载设置好的网页。