如何设置文本格式,使QDOS遗留文件的不可读行首字符可识别?
8位遗留文本字符识别的格式选择
直接给你能让那些8位不可读字符被准确识别的几种方案:
- 用Latin-1(ISO-8859-1)编码:这个编码会把每个8位字节直接对应到Unicode码点,不会把识别不了的字节换成问号。不管是Xcode还是终端,设置成这个编码后,$0D、$1C这类控制字符都会原样呈现,你能清楚定位要删的内容。
- 选MacRoman编码:这是早期Mac用的8位编码,对QDOS这类老系统的字符兼容性不错,能完整保留原始8位数据,不会乱码,方便后续处理。
- 二进制模式查看/编辑:别用普通文本模式打开,用Xcode的十六进制编辑器模式,或者终端里的
xxd命令,所有字节都会以十六进制形式显示,你能精准找到$0D、$1C这些要去除的字符,完全避开编码转换带来的问题。
你之前遇到的Xcode报错和终端乱码,就是因为UTF-8会把无法映射的8位字节替换成?,而且文本模式可能自动改换行符,把原始字节搞乱了。换成上面的编码或者二进制模式,就能让所有不可读字符都能被识别定位了。
内容的提问来源于stack exchange,提问作者Greg
相关产品推荐
相关产品推荐

