旧版MacOS Eudora mbx文本文件编码识别求助(多编码混合场景)
旧版MacOS Eudora mbx文本文件编码识别求助(多编码混合场景)
各位大佬好,我最近卡在识别一个旧文本文件的编码上了,折腾好久没搞定,来求助大家!
这个文件是1998年左右的MacOS版Eudora生成的mbx邮件文件,内容大部分是法语。我用Notepad++试了各种常见编码,结果都不对。目前摸到的一些线索:
- 非ASCII字符都是单字节编码,我已经对应出几个:
- 0x82 → â
- 0x87 → à
- 0xc1 → ç
- 0xc8 → é
- 0xcb → è
- 0xcd → ê
- 文件的换行是0x0d 0x0a(CRLF)格式
我本来想直接搜索替换这些字符,但后来发现事情没这么简单。
补充下大家问的细节:
- 用
file命令检测的结果:file --mime-encoding → unknown-8bit file --mime-type → text/plain file → Non-ISO extended-ASCII text, with very long lines (370), with CRLF line terminators - 文件没有头部信息,开头就是Eudora mbx标准的“From ???@???”邮件头格式
- 我可以在这些系统上测试:MacOS 14.x、MacOS 7.6.1(在BasiliskII模拟器里)、Debian 12.4、Windows 10、Windows XP,但这些系统默认的字符集都不对
后来我仔细扒了下文件,发现里面大概有300封邮件连在一起,居然至少用了两种不同的编码!这就解释了为啥我之前全文件处理会有各种混乱的问题。
目前我整理出了整个文件里大概的字节-字符对应关系(因为编码混合,部分字节可能对应不同字符):
- 0x81 → '°'(度符号)
- 0x82 → 'â'
- 0x83 → 'ü'
- 0x84 → 'ã'
- 0x85 → 'É'
- 0x86 → '"'
- 0x87 → 'à'
- 0x88 → 'ö'
- 0x89 → 'ä'
- 0x8a → '•'
- 0x8c → '''
- 0x97 → 换行?
- 0x9a → 'ß'
- 0xa0 → ' '(非断空格?)
- 0xaa → '”'(和0xb4配对的右引号)
- 0xab → 'Ç'
- 0xb0 → '°'
- 0xb1 → '~'
- 0xb4 → '“'(和0xaa配对的左引号)
- 0xb7 → 'á'
- 0xb8 → 'ü'
- 0xbb → 'é' / 'È'
- 0xbc → 'ù'
- 0xbf → 'À'
- 0xc0 → 'À'
- 0xc1 → 'ç'
- 0xc8 → 'é'
- 0xc9 → 'É'
- 0xcb → 'è'
- 0xcc → 'í'
- 0xcd → 'ê'
- 0xd0 → 'õ'
- 0xd3 → 'î'
- 0xd4 → 'ï'
- 0xd7 → 'û'
- 0xd9 → 'ô'
- 0xdb → 'ó'
- 0xdd → 'ú'
- 0xe0 → 'à'
- 0xe2 → 'â'
- 0xe7 → 'ç'
- 0xe8 → 'è'
- 0xe9 → 'é'
- 0xea → 'ê'
- 0xed → '''
- 0xee → 'î'
- 0xef → 'ï'
- 0xf4 → 'ô'
- 0xf9 → 'ù'
- 0xfb → 'û'
- 0xfc → 'ü'
- 0xfe → '''
有没有大佬能帮忙判断下这里面混的是哪几种编码?或者有没有办法批量处理这种混合编码的mbx文件?
备注:内容来源于stack exchange,提问作者jmr
相关产品推荐
相关产品推荐

