Ste*_*hen 7 character-encoding conversion
我有一个 ASCII 的日志文件,除了几个 UTF-8 字符(我可以在以后的版本中修复)。
目前,我需要弄清楚如何通过 gedit/less 等使这个文件进入可查看/可搜索/可编辑状态。
enca -L none file返回7bit ASCII characters
Surrounded by/intermixed with non-text data。
enconv -L none -X ASCII file并enconv -L none -X UTF-8 file“成功”但实际上并没有改变任何东西。
我该如何修复这个文件?
实际上,如下所述(给所有人投票:)),ASCII + UTF-8 就是 UTF-8。我拥有的是
0003bbc0 28 4c 6f 61 64 65 72 29 20 50 61 74 69 65 6e 74 |(Loader) Patient|
0003bbd0 20 00 5a 00 5a 00 5a 00 38 00 31 00 30 00 34 00 | .Z.Z.Z.8.1.0.4.|
0003bbe0 20 6e 6f 74 20 66 6f 75 6e 64 20 69 6e 20 64 61 | not found in da|
0003bbf0 74 61 62 61 73 65 0d 0a 32 36 20 53 65 70 20 32 |tabase..26 Sep 2|
Run Code Online (Sandbox Code Playgroud)
我相信这将是一个 cp1252 类型的编码。实际上,我不知道 cp1252 将是 1 个字节的 ASCII 是什么,不是吗?
顺便说一句,linux barfs 在这方面帮助我弄清楚输入文件(id 的来源)被严重编码的事实......
事实上,您拥有的是 ASCII(通常以 8 位字节编码)和一点UCS-2(Unicode 仅限于基本平面 (BMP),其中每个字符被编码为两个 8 位字节),或者也许是UTF-16(UCS-2 的扩展,可以通过对 U+D7FF 以上的代码点使用多字编码来编码所有 Unicode)。
我怀疑您是否会找到一种可以立即处理这种邪恶混合物的工具。没有办法完全通用地解码该文件。就您而言,可能发生的情况是某些 ASCII 数据在某个时候被编码为 UTF-16(Windows 和 Java 喜欢 UTF-16;它们在 Unix 世界中几乎闻所未闻)。如果您假设原始数据都是 ASCII,则可以通过删除所有空字节来恢复可用的文件。
<bizarre tr -d '\000' >ascii
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17508 次 |
| 最近记录: |