找回密码
 立即注册

QQ登录

只需一步,快速开始

教程经验总索引TVMW5/小日本5 索引【视频转换】小日本4/TE4XP 索引【视频转换】TAW4 / TDA3 索引【DVD打包软件】
Nero 索引DVD-Lab 索引【DVD打包软件】编解码器 索引 【必读】固顶帖011号
楼主: lijianwen

[待反馈] 神一样的字幕该如何处理

[复制链接]

51

威望

5148

金钱

228

贡献

管理员

孤魂野草

积分
6424
主题
168
回帖
2211
注册时间
2011-12-18
最后登录
2024-9-8
QQ
发表于 2013-10-25 16:10:57 | 显示全部楼层
lijianwen 发表于 2013-10-18 15:12
看了你的回复,我专门测试了一下,电视显示还是乱码。
有时候下载到的字幕,记事本打开乱码,但srtedit ...

srtedit打开就不是乱码的字幕,其实没有问题(这样的字幕也能被Word打开),乱码是记事本的问题(ANSI编码有好多种)

而本帖的字幕才是真正有问题的字幕。
回复

使用道具 举报

51

威望

5148

金钱

228

贡献

管理员

孤魂野草

积分
6424
主题
168
回帖
2211
注册时间
2011-12-18
最后登录
2024-9-8
QQ
发表于 2013-11-9 11:05:32 | 显示全部楼层
基本上可以得出这样一个结论:该字幕中的部分文字信息已经在Unicode->Big5过程中丢失。无法还原。
稍后将解释。
回复

使用道具 举报

51

威望

5148

金钱

228

贡献

管理员

孤魂野草

积分
6424
主题
168
回帖
2211
注册时间
2011-12-18
最后登录
2024-9-8
QQ
发表于 2013-11-9 11:21:16 | 显示全部楼层
本帖最后由 伤心的笔 于 2013-11-9 11:52 编辑

不同的字符集所包含的字符不同。如平方的符号²,在Unicode字符集中是存在的,在ANSI字符集中就不存在了。

打开记事本,复制下面这行文字:
  1. a²
复制代码
保存,编码保持默认的ANSI编码。
会发现,a²变成了a2
也就是说,系统会自动地把不存在的字符,转换为最相近的字符。这里的²->2对应关系是人为规定的。
要想在txt文件中储存这行字,编码需要选择Unicode,或者其他几个选项(其实也是Unicode的一种)

我们知道,简体中文系统的ANSI编码是GBK字符集(或者可以近似看做GBK字符集)。GBK字符集包括英文数字、西方的一些字母、东亚其他国家的一些文字、大多数简体字和大多数繁体字(假繁体。因为繁体字中与简体字字形一致的字会合并成一个字,按照大陆的习惯来写)、特殊符号(不包括²等等)等等。因此,在简体系统中,用默认的GBK字符集保存繁体字是没有问题的(虽然不是一个好做法)。

繁体系统就不一样了,ANSI编码默认是Big5字符集。Big5字符集并不包括一些新增的简体字。如果我们在繁体系统下保存一些简体字的话,就会产生和保存a²一样的悲剧。“历史”会变成“歷史”。这还是不错的。有些人为没有规定好的字之间的对应关系,系统就只能“乱”保存了。因此,部分信息会丢失,而大多数文字会被系统转换为繁体字,以便保存于Big5编码的文本文件中

因此,我推测该字幕保存的时候,错误地选择了Big5编码,导致信息的丢失。(简体电脑不能自动识别Big5编码,所以会全篇乱码。)10楼的结果就是该字幕中仅剩的信息了,其余信息是无法准确恢复的,就像这个“a2”中的“2”可能会有多种含义一样(“2”或“²”),只知道一个“a2”是无法准确还原成“a²”的。
01.PNG
02.PNG

然而該字幕的情況遠比上述過程要複雜。因為該字幕中,一部分簡體字被轉換成了繁體字保留了下來。而如果只是直接在繁體作業系統下保存的話,所有的簡體字都會變成??。因此,該字幕應該經歷了更多的內碼轉換過程。

往服務器中上傳文字文件時,默認不是以二進制方式上傳的。而是以字符串的形式。因此,服務器端如果是UTF-8編碼的話,上傳中文一般是亂碼的(本人沒有豐富的建站經驗,對這個問題不太明白,IsaacZ應該明白吧)。但也許服務器端使用ANSI編碼。也許是Unicode編碼(UTF-16 BOM)。(一般是以UTF-8編碼為主)這個過程可能會導致亂碼。還有其他奇奇怪怪的問題,也會導致亂碼。

字符編碼的不統一,又一次造成了不便。ANSI,你們這個家族早就該退出了。記事本啊,什麼時候能夠默認保存為Unicode編碼呢?Unicode或者UTF-8啊,趕快統一江湖吧!

评分

参与人数 1贡献 +1 收起 理由
IsaacZ + 1 谢谢提供新思路!

查看全部评分

回复

使用道具 举报

104

威望

8735

金钱

369

贡献

高级会员

积分
10890
主题
123
回帖
2173
注册时间
2009-11-9
最后登录
2021-4-28
QQ
 楼主| 发表于 2013-11-9 12:14:14 | 显示全部楼层
伤心的笔 发表于 2013-11-9 11:21
不同的字符集所包含的字符不同。如平方的符号2,在Unicode字符集中是存在的,在ANSI字符集中就不存在 ...


非常合理的解释,版主应该加分。

点评

发现这个帖子里的平方的符号²也变成了2——Dz论坛的程序也需要改进。  发表于 2013-11-23 10:10
回复

使用道具 举报

9334

威望

908

金钱

1万

贡献

管理员

自由的灵魂

积分
100569
主题
5293
回帖
26240
注册时间
2003-4-10
最后登录
2024-12-21
发表于 2013-11-11 16:40:52 | 显示全部楼层
还是那句话,既然大部分的文字可以通过内码转换正确地识别出来,说明内码转换的思路是正确的。错误或残缺的内容应该是找不回来了。
IsaacZ的发言中如果提到任何字母缩写或专有名词,在本论坛中一般都能搜索到。点此立即搜索点拨论坛。如有搜索不到的,请尝试搜索百度百科,或者跟帖提问。
发帖前请注意看置顶帖。如果你发现自己的问题没有得到回答,说明你的问题提错了地方或者提问前未先阅读版规。
回复

使用道具 举报

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

本版积分规则

QQ|Archiver|手机版|小黑屋|点拨论坛 |网站地图

GMT+8, 2024-12-22 13:09 , Processed in 0.090175 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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