StrConv 内码转换

时间:2022-05-20 11:02:53

StrConv(string,conversion,LCID)

string,预转换的字符串了(也可以使用byte数组)。

Conversion: 是一个整数,只决定转换方式,VB里定义了一些常量,如VBFromUnicode、VBUnicode等等,这些不用我解释大家应该也明白了吧。

LCID:长整数, 可以指定编码方式, 如&H404,即Big5码, &H804即GBK码,合理运用这个参数,就可以写出一个非常简单的内码转换工具!

Dim iReadNumber As Integer `读文件号

Dim iWriteNumber As Integer `写文件号

Dim mem() As Byte `byte数组

Dim strFileName As String `文件名

Dim lLength As Long `文件长度

`将文件内容读入mem byte数组

iReadNumber = FreeFile

strFileName = TextFileName.Text

lLength = FileLen(strFileName)

ReDim mem(lLength) As Byte

Open strFileName For Binary As #iReadNumber

Get #iReadNumber,,mem

Close #iReadNumber

`将mem数组转换为Big5码所对应的Unicode码

mem = StrConv(mem,vbUnicode,&H404)

`再将Unicode码转换为GBK编码

mem = StrConv(mem,vbFromUnicode,&H804)

`写到源文件里去

iWriteNumber = FreeFile

Kill strFileName

Open strFileName For Binary As #iWriteNumber

Put #iWriteNumber,,mem

Close #iWriteNumber