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