【VB】StrConv函数 vbUnicode用法

【VB】StrConv函数

StrConv(string, conversion, LCID)

vbUnicode

64

根据系统的缺省码页将字符串转成Unicode。

vbFromUnicode

128

将字符串由 Unicode 转成系统的缺省码页。

    Windows系统对字符采用了DBCS编码,它是一套单字节和双字节的混合编码,即西文与ASCII编码一样,是单字节;中文则以两字节编码。

    而StrConv()函数的作用就是作为Unicode与DBCS之间的转换。

bytes_Ansi()=StrConv("a啊b",vbFromUnicode)         '61 B0 A1 62 

    就是将Unicode码(VB缺省String类型)"a啊b"字符串转为DBCS码(转换成Ansi编码的串)

String1=StrConv(Bytes_Ansi(),vbUnicode)         '61 0 4A 55 62 0

    将DBCS(即Ansi格式的数组)转为Unicode字符串(String)。

    转换过程可以用LenB函数进行验证

    由于VB中字符串均用二字节的Unicode表示,在进行文本文件读写时,会自动将String转换为合适的系统DBCS编码,无需专门的转换,但在Open语句Binary读写时,作者需先转换好。如在读写UTF8编码格式的文本文件时,必须使用Binary格式来读写。而一般的Unicode格式和Ansi格式文件,则不需要。

    而通常的Bytes()与String间转换可直接赋值,应为

Dim bytes() as Byte,Str1 as string

str1="a啊b"     或 bytes=str1亦可

 bytes=str1 即'61 0 4A 55 62 0,自动完成了转换

 

posted @ 2014-11-28 20:35  whchensir  阅读(6346)  评论(0编辑  收藏  举报