递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 489|回复: 9
打印 上一主题 下一主题

[视窗] 怎么把GBK编码文件转换成UTF-8

[复制链接]

16

主题

46

帖子

232

积分

中级会员

Rank: 3Rank: 3

积分
232
跳转到指定楼层
楼主
发表于 2026-10-8 21:40:16 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
怎么把GBK编码文件转换成UTF-8,或把UTF-8转换成GBK,不知道为什么文件编码是GBK,里有中英文写出的文件后编码是UTF-8,且中文变成乱码了怎么正确转换啊?
回复

使用道具 举报

16

主题

46

帖子

232

积分

中级会员

Rank: 3Rank: 3

积分
232
沙发
 楼主| 发表于 2026-10-8 21:52:08 | 只看该作者
写出文本文件 (, , , 文本编码类型.多字节)
写出来的文件取编码格式还是UTF-8
回复

使用道具 举报

31

主题

2923

帖子

1万

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
10614
板凳
发表于 2026-10-8 22:36:23 | 只看该作者
先看看系统有没开启“Beta 版:使用 Unicode UTF-8 提供全球语音支持”,开启后会将多字节当做 UTF-8 来处理,所以建议关掉。
至于 GBK 和 UTF-8 的编码转换,一般要拿 Unicode UTF-16LE 来做中转。
回复

使用道具 举报

507

主题

2万

帖子

4万

积分

超级版主

Rank: 8Rank: 8

积分
49827
QQ
地板
发表于 2026-10-9 05:33:20 | 只看该作者
取编码格式那里来的方法,这方法的问题吧。你直接用记事本打开看编码啊。
回复

使用道具 举报

16

主题

46

帖子

232

积分

中级会员

Rank: 3Rank: 3

积分
232
5#
 楼主| 发表于 6 天前 | 只看该作者
创世魂 发表于 2026-10-9 05:33
取编码格式那里来的方法,这方法的问题吧。你直接用记事本打开看编码啊。 ...



编码判断类_.取编码类型_文件 ()

回复

使用道具 举报

16

主题

46

帖子

232

积分

中级会员

Rank: 3Rank: 3

积分
232
6#
 楼主| 发表于 6 天前 | 只看该作者
Xelloss0618 发表于 2026-10-8 22:36
先看看系统有没开启“Beta 版:使用 Unicode UTF-8 提供全球语音支持”,开启后会将多字节当做 UTF-8 来处 ...


回复

使用道具 举报

31

主题

2923

帖子

1万

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
10614
7#
发表于 6 天前 | 只看该作者
我还以为你是用火山写出的文本文件……
用易语言的话,写出的文本编码的确是GBK,Notepad++等文本编辑器认错编码也很正常,多字节编码的识别是个难题。
仰望模块里的编码识别也写得简单,无法准确区分UTF-8和GBK,因为某些GBK内容也是符合UTF-8规范的。
回复

使用道具 举报

16

主题

46

帖子

232

积分

中级会员

Rank: 3Rank: 3

积分
232
8#
 楼主| 发表于 5 天前 | 只看该作者
Xelloss0618 发表于 2026-10-12 15:05
我还以为你是用火山写出的文本文件……
用易语言的话,写出的文本编码的确是GBK,Notepad++等文本编辑器认 ...

写出文本文件 ("C:\\Users\\Administrator\\Downloads\\Windows10 x64系统.iso", 文件路径, , 文本编码类型.多字节)
调试输出 (取编码类型_文件 (文件路径))
调试输出 (是否符合UTF8规范_ (读入文件 (文件路径)))

写出文本文件 ("C:\\Users\\Administrator\\Downloads\\文本.txt", 文件路径, , 文本编码类型.多字节)
调试输出 (取编码类型_文件 (文件路径))
调试输出 (是否符合UTF8规范_ (读入文件 (文件路径)))


正在启动被调试程序
UTF_8
真
ASCII
假

种情况不知道啥问题了
回复

使用道具 举报

16

主题

46

帖子

232

积分

中级会员

Rank: 3Rank: 3

积分
232
9#
 楼主| 发表于 5 天前 | 只看该作者
Xelloss0618 发表于 2026-10-12 15:05
我还以为你是用火山写出的文本文件……
用易语言的话,写出的文本编码的确是GBK,Notepad++等文本编辑器认 ...

写到文件 (文件路径, 文本到多字节 ("C:\\Users\\Administrator\\Downloads\\Windows10 x64系统.iso", 假))
调试输出 (取编码类型_文件 (文件路径))
调试输出 (是否符合UTF8规范_ (读入文件 (文件路径)))

写到文件 (文件路径, 文本到多字节 ("C:\\Users\\Administrator\\Downloads\\文本.txt", 假))
调试输出 (取编码类型_文件 (文件路径))
调试输出 (是否符合UTF8规范_ (读入文件 (文件路径)))


正在启动被调试程序
UTF_8
真
ASCII
假
回复

使用道具 举报

31

主题

2923

帖子

1万

积分

金牌会员

Rank: 9Rank: 9Rank: 9

积分
10614
10#
发表于 5 天前 | 只看该作者
1105110683 发表于 2026-10-13 08:19
写出文本文件 ("C:\%users\\Administrator\\Downloads\\Windows10 x64系统.iso", 文件路径, , 文本编码类 ...

没什么特别的情况,就是很难准确识别多字节和UTF-8。
你看各大知名文本编辑软件也经常认错编码就知道了。

按你的例子,GBK的“系统”两个字刚好符合UTF-8的编码规则,所以被认错了,但用UTF-8显示肯定是乱码;
而GBK的“文本”两个字不符合UTF-8的编码规则,所以被排除。

所以一般来说,文本越长,识别率越高。
另外就是很难判断多字节编码的具体语种是什么,GBK、BIG5、Shift-JIS就经常互相认错。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2026-10-18 17:06 , Processed in 0.101247 second(s), 21 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表