vb中怎么把ansi转换成UTF-8

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了vb中怎么把ansi转换成UTF-8相关的知识,希望对你有一定的参考价值。

在VB中怎么把ANSI编码的文件转换成UTF-8的文件?

源码,谢谢啦

参考技术A Private Sub Command1_Click()
Dim FileName As String, b() As Byte, S As String
Dim ADO_Stream As Object
FileName = App.Path & "\1.txt" '请修改为具体文件名
If Dir(FileName) = "" Then Exit Sub
ReDim b(FileLen(FileName))
Open FileName For Binary As #1
Get #1, , b
Close #1
S = StrConv(b, vbUnicode)

Set ADO_Stream = CreateObject("ADODB.Stream")

With ADO_Stream
.Type = 2
.Mode = 3
.Charset = "utf-8"
.open
.WriteText S
.SaveToFile FileName, 2
End With

Set ADO_Stream = Nothing
MsgBox "文件转换完毕!"
End Sub本回答被提问者采纳
参考技术B 用StreamReader读text的时候可以指定编码的
StreamReader sr = new StreamReader(filePath, Encoding.UTF-8);
查一下msdn

怎么把UTF-8编码的文本批量改成ANSI啊!!!!!!!!!?

之前找了个软件从ANSI改成UTF-8了,现在想改回来,找不到这种软件

用软件Replace Pioneer可以批量转换编码,详细步骤:
第一步:选文件
1.打开Tools->Batch Runner菜单
2.把多个待处理文件从windows拖拽到Batch Runner窗口中

第二步:变换编码
1.点击Change Encode按钮
2.点击input encoding,设置成utf-8
3.点击output encoding,设置成CN->gbk
4.点击start,完成

如果想反过来转,第2步选gbk,第3步选utf-8即可。
详见:How to convert multiple files from utf8 to GB2312?

参考资料:http://www.mind-pioneer.com/services/583_Character_encoding.html

参考技术A

在linux系统下,使用iconv命令就可以轻松搞定。

如:utf8文件名为:utf8.txt,转换成:ansi.txt,可键入以下命令

iconv -f utf8 -t gbk -o ansi.txt  utf8.txt

说明:

 Input/Output format specification:

  -f, --from-code=NAME       encoding of original text

  -t, --to-code=NAME         encoding for output

 -o, --output=FILE          output file

iconv -l可查看本机支持的字符集

参考技术B 装个ConvertZ 就能批量转编码了追问

不能从UTF-8改成ANSI

追答

ANSI Converter 这个呢?

追问

不行。

本回答被提问者采纳

以上是关于vb中怎么把ansi转换成UTF-8的主要内容,如果未能解决你的问题,请参考以下文章

VB中MultiByteToWideChar如何调用使得文本格式由ANSI转换成UTF-8

怎么才能把utf-8编码的asp文件转换成gn2312

我手头有几个 PHP ZEND了的文件,它的文件格式是ANSI的,如何才能把它转换成UTF-8的?

怎么把UTF-8编码的文本批量改成ANSI啊!!!!!!!!!?

asp中UTF-8和GB2312之间怎么转换

VB如何把汉字和字母转换成utf8字符?