易语言如何把GB2312格式转换成记事本里的utf-8?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了易语言如何把GB2312格式转换成记事本里的utf-8?相关的知识,希望对你有一定的参考价值。

相当于记事本里的另存为utf-8格式一样
输入正常文本,另存为utf-8,记事本里也能正常看见

下面那个要带库,这个不用,有效减少易语言程序体积
.版本 2
.子程序 _写utf8编码文本
写到文件 (“c:/a.txt”, 到字节集 (gbk到utf8 (“这里测试”)))'按你的目的改

.子程序 gbk到utf8, 文本型
.参数 文本型, 文本型
返回 (工具_编码转换 (文本型, 936, 65001))
.子程序 工具_编码转换, 文本型, , 把 参数一中指定的文本 从 参数二中指定的编码 转换成 参数三中指定的编码
.参数 文本, 文本型, , 待转换的文本
.参数 源编码, 整数型, , 源编码,用#CP查找,也可直接输入整数
.参数 目标编码, 整数型, , 目标编码,用#CP查找,也可直接输入整数
.局部变量 Len, 整数型
.局部变量 r, 整数型
.局部变量 目标文本, 文本型
.局部变量 szUnicode, 文本型
Len = _取目标编码长度 (源编码, 0, 文本, -1, 0, 0) × 2
szUnicode = 取空白文本 (Len)
' 转换为 UNICODE
_字符编码 (源编码, 0, 文本, -1, szUnicode, Len)
Len = _编码转换 (目标编码, 0, szUnicode, -1, 0, 0, 0, 0)
目标文本 = 取空白文本 (Len)
' 转换为目标编码
_生成 (目标编码, 0, szUnicode, -1, 目标文本, Len, 0, 0)
返回 (目标文本)
.DLL命令 _生成, 整数型, , "WideCharToMultiByte", , WideCharToMultiByte
.参数 CodePage, 整数型, , CP_ACP CP_UTF8
.参数 dwFlags, 整数型
.参数 lpWideCharStr, 文本型
.参数 cchWideChar, 整数型
.参数 lpMultiByteStr, 文本型
.参数 cbMultiByte, 整数型
.参数 lpDefaultChar, 整数型
.参数 lpUsedDefaultChar, 整数型
.DLL命令 _字符编码, 整数型, , "MultiByteToWideChar", , MultiByteToWideChar
.参数 CodePage, 整数型, , CP_ACP CP_UTF8
.参数 dwFlags, 整数型
.参数 lpWideCharStr, 文本型
.参数 cchWideChar, 整数型
.参数 lpMultiByteStr, 文本型
.参数 cbMultiByte, 整数型
.DLL命令 _编码转换, 整数型, , "WideCharToMultiByte", , WideCharToMultiByte
.参数 CodePage, 整数型, , CP_ACP CP_UTF8
.参数 dwFlags, 整数型
.参数 lpWideCharStr, 文本型
.参数 cchWideChar, 整数型
.参数 lpMultiByteStr, 整数型
.参数 cbMultiByte, 整数型
.参数 lpDefaultChar, 整数型
.参数 lpUsedDefaultChar, 整数型
.DLL命令 _取目标编码长度, 整数型, , "MultiByteToWideChar", , MultiByteToWideChar
.参数 CodePage, 整数型, , CP_ACP CP_UTF8
.参数 dwFlags, 整数型
.参数 lpWideCharStr, 文本型
.参数 cchWideChar, 整数型
.参数 lpMultiByteStr, 整数型
.参数 cbMultiByte, 整数型
参考技术A 转换后的字节集=编码转换 (到字节集(被转换的文本), #编码_GBK, #编码_UTF_8, 假)

如何将许多ANSI格式的txt文档批量转换成UTF8格式?

假设你的文件是ansi(gbk),用Replace Pioneer批量转换为UTF8的方法如下:

第一步:选文件
1.打开Tools->Batch Runner菜单
2.点击Pick Files,用鼠标对需要处理的多个文件进行多选。

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

注:如果你想把输出保存到新文件里,可以在点击Start之前修改set output filename,把它从$FILENAME改成新的规则,比如$FILENAME.new,还要注意备份,以防操作失误。 另外,你还可以把输出保存到新文件夹里。

如果你要的utf-8文件带BOM标识,需要选utf-8-BOM而不是utf-8
参考技术A 搜一下:如何将许多ANSI格式的txt文档批量转换成UTF8格式?

以上是关于易语言如何把GB2312格式转换成记事本里的utf-8?的主要内容,如果未能解决你的问题,请参考以下文章

易语言汉字转utf-8

怎么把utf-8格式的文件转为gb2312

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

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

Mysql数据库里的字符集转换,我从别人的数据库拷贝了一个表,但是那个表的字符集是gb2312

C语言UTF8要怎样转gb2312