»
首页
|
手机数码
|
汽车资讯
|
游戏硬件
|
评测专题
|
手机壁纸
|
海淘值得买
|
度假
|
求职招聘
|
广告联系
» 您尚未登录:请
登录
|
注册
|
标签
|
帮助
|
小黑屋
|
TGFC Lifestyle
»
完全数码讨论区
» [小科普][看图说话][微Geek]为啥会乱码,如何解决
发新话题
发布投票
发布商品
发布悬赏
发布活动
发布辩论
发布视频
打印
[电脑]
[小科普][看图说话][微Geek]为啥会乱码,如何解决
beterhans
hans
银河飞将
帖子
38843
精华
2
积分
55030
激骚
2380 度
爱车
11路
主机
Xbox 360
相机
Nikon D5000
手机
注册时间
2003-10-20
发短消息
加为好友
当前离线
1
#
大
中
小
发表于 2013-3-2 20:41
显示全部帖子
最近Cloud兄遇到了srt iTunes 字幕乱码的问,问之,然后特此写一篇 科普贴子
那么怎么会乱码?
通俗的说
用中文思维的中国人 读 中文的汉字文章 = 正确解码
用日文思维的日本人 读 日文的汉字文章 = 正确解码
用中文思维的中国人 读 日文的汉字文章 = 乱码
用日文思维的日本人 读 中文的汉字文章 = 乱码
那么思维方式=解码方式 文章 = 文件
==============================
那么很明显解决乱码的方式 不是转变解码方式 就是去转变文章。 对上了就不会乱码,但是在计算机界有一种世界语言(Unicode)可以解决这个问题。
============ 看图说话 =============
用WIndows Notepad (记事本) 创建一个文件,内容是
一个英文大写字母 A 回车 一个 汉字 我 回车
让后我们用一个更高级的记事本 跨平台的 MadEdit 来查看一下这个文件
你看当前系统正在使用 简体中文编码 GBK 在解码这个文件
那么看下用日文编码来解码这个文件得到了啥? 一个看似 汉字 又不像的 林.
那么来看用韩文编码来解码这个文件得到了啥? 我居然变成的乖。
那么我们抛开表面现象看看本质,大家知道电脑里啥都是 2进制数字,那么为了显示方便一般用 16进制来看
那么看看这个文件里的数字都是啥
你可以看到 CE D2 就是 "我"这个汉字
那么当我们转换解码方式是 韩文的时候 CE D2 居然是 乖!!!!!!!! 而 CE D2 在日文里是那个林不像林的字.
看到这里你彻底明白了吧 同样的数字用不同的方式解码显示结果是不一样的。
所以你看到不乱码,不代表别人不乱码。
那么问题来了电脑看到 CE D2 它怎么办那么 它怎么知道以中文方式显示还是 日文方式显示 还是韩文方式显示? 它怎么知道在操作它的是哪国人?
答案是猜
不同的电脑猜的方式不一样, Windows 电脑按照系统语言的版本来猜,如果是中文windows就用中文方式显示,如果是日文windows就用日文方式显示。
当然那猜的方式是可以修改的。
那么如果你是 mac 或者 Linux iphone android 则是看系统 Locale 参数来猜或者程序自己猜, 因为不存在 中文 mac 还是 英文 mac 一说只有Windows才分语言发售版本。
那么还有另外一个问题 那就是 使用以上的编码方式 无法实现 一篇文章里 有中文 有日文 有韩文 是不? 只能选一种。
那么一种计算机的国际语言(UNICODE)诞生鸟。
目前常用的 UNICODE 编码叫做 UTF-8 它可以同时显示任何语言。
那么我们把文件调整回 中文方式显示 然后转换编码 成 UTF-8
然后还要添加 BOM
再来看看转换后 的本质变化
看到没有 虽然表面上没有任何变化但是数字变了
E6 88 91 三组 16 进制数字 才组成了我。 而且前面多了 EF BB BF 这个 BOM.
这下问题解决了。
有了 BOM, 电脑就不用猜了,看到 BOM 就知道是 UTF-8 编码 不会再去猜是中文 还是日文了。
而且 三组 8bit 数字 已经足够大了, 可以装下大部分语言的的字符。 不用再去转换啥解码方式。
所以我把这个文件保存
这样传给别人 不管对方是 英文weindows 还是 android还是 mac 就不会是 乱码啦
=======================
乱码文件解决方法
1. 需要一个比 notepad 更强大的文本编辑工具
Windows / Linux 推荐开源的 MadEdit
Mac 推荐 TextWrangler (APP Store)有下载
2. 打开乱码文件
3 看到乱码
4 帮助电脑猜这个文件到底是什么语言 比如选择中文GBK编码
5 看到正常的结果
6 转成 UTF-8 保存
7 以后不再乱码
(提示 如果一个显示正常的 UTF-8 编码的文件 你硬是用 GBK 中文解码 也是乱码哦)
如果一个你显示不乱码的文章怎么保证别人不乱码
另存为 选择编码 UTF-8
===============================
乱码现状
1. 大多数的中文字幕是中文编码的,也就是说除了中文windows 其他地方都存在乱码的风险。
2. 大多数的双语字幕是 UNICODE编码的 因为作者被迫使用的。否则没法同时显示
你要做的不管它是什么语言转成 UTF-8 一劳永逸。
完
[
本帖最后由 beterhans 于 2013-3-2 20:53 编辑
]
本帖最近评分记录
cloudchilya
激骚
+6
泪流满面
2013-3-2 23:18
squallySP
激骚
+3
泪流满面
2013-3-2 21:26
夜神光
激骚
+6
感谢分享
2013-3-2 20:49
UID
15723
帖子
38843
精华
2
积分
55030
交易积分
0
阅读权限
50
在线时间
20277 小时
注册时间
2003-10-20
最后登录
2025-7-18
查看个人网站
查看详细资料
TOP
控制面板首页
密码修改
积分交易
积分记录
公众用户组
基本概况
版块排行
主题排行
发帖排行
积分排行
交易排行
在线时间
管理团队
管理统计