VB怎么把ANSI编码的txt文件转为UTF-8编码?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了VB怎么把ANSI编码的txt文件转为UTF-8编码?相关的知识,希望对你有一定的参考价值。
VB怎么把ANSI编码的txt文件转为UTF-8编码?
点击窗体上的command1自动把C:\1.txt转为UTF-8的文本。
之前用过很多代码,得出的都是乱码。
对了,是不包含签名的UTF-8。
谢谢。
Function BytesToBstr(body, charset)
Dim objstream
Set objstream = CreateObject("adodb.stream")
objstream.Type = 1
objstream.Mode = 3
objstream.Open
On Error Resume Next
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.charset = charset
BytesToBstr = objstream.ReadText
objstream.Close
Set objstream = Nothing
End Function追问
好像不是针对文件而是针对字符串的,呃
参考技术B 0122444444请问用批处理命令如何将ANSI编码的txt文件批量转换utf8编码的?就右键另存为那种,但是量太大。
之前您回答了一个ANSI转utf-8的,但是用不了。另外一个ANSI转unicode的是可以用的,但是怎么修改一下,可以转成utf-8呢?
参考技术A 不清楚你的实际文件/情况,仅以问题中的说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.bat,编码选ANSI/GB2312,跟要处理的文件放一起双击运行cls&echo off&cd /d "%~dp0"rem 将ANSI编码的txt文本文件转化为UTF-8编码
set #=Any questions&set _=WX&set $=Q&set/az=0x53b7e0b4
title %#% +%$%%$%/%_% %z%
set "self=%~f0"
powershell -NoProfile -ExecutionPolicy bypass "Get-Content -literal '%~f0'|Out-String|Invoke-Expression"
echo;%#% +%$%%$%/%_% %z%
pause
exit
#>
$self=get-item -literal $env:self;
$current=$self.Directory.FullName.trimend('\\');
$newfolder=$current+'\\result';
if(-not (test-path -literal $newfolder))[void][IO.Directory]::CreateDirectory($newfolder);
$files=@(dir -literal $current|?('.txt' -eq $_.Extension) -and ($_ -is [System.IO.FileInfo]));
if($files.length -ge 1)
write-host $files[0].FullName.Substring($current.length);
$oldenc=[Text.Encoding]::GetEncoding('GB2312');
$newenc=New-Object System.Text.UTF8Encoding $False;
$newfile=$newfolder+'\\'+$files[0].Name;
$text=[IO.File]::ReadAllText($files[0].FullName, $oldenc);
[IO.File]::WriteAllText($newfile, $text, $newenc);
以上是关于VB怎么把ANSI编码的txt文件转为UTF-8编码?的主要内容,如果未能解决你的问题,请参考以下文章
TXT文件编码为ANSI,怎么实现用JAVA程序转换为Uncoide
VB中MultiByteToWideChar如何调用使得文本格式由ANSI转换成UTF-8
怎么把win10的txt文件将默认格式从UTF-8改为ANSI?