我有一个编码为'cp500'的IBM大型机文件(我被告知),需要解码为ASCII或可读文本。该文件从Unix服务器获取并使用IPSwitch工具传输到Windows。
我已经尝试了以下代码,但无法实现我想要的结果:
这是产生类型错误。
然后我试了这两个。
我也尝试使用国际编码格式"cp1140"。
我期望有一个可读的输出 - 一个像这样的复制簿布局...
但是以上三个都打印输出为:
我也尝试以“rb”模式读取文件:
这将会产生以下输出:
这是我第一次处理EBCDIC /主机文件-希望能得到解码方面的任何帮助!
我已经尝试了以下代码,但无法实现我想要的结果:
sample data = 'ðñðòðõÅäù@@@@@@@ððð :BÄÑðò÷øò@@@JaÈK' - in txt file
import codecs
with open(file, "rb") as ebcdic:
ascii_txt = codecs.decode(ebcdic, "cp500")
print(ascii_txt)
这是产生类型错误。
"TypeError: decoding with 'cp500' codec failed (TypeError: a bytes-
like object is required, not '_io.BufferedReader')"
然后我试了这两个。
with open(file, 'r', encoding='cp500') as f:
for line in f:
print(line)
with codecs.open(file, 'r', encoding='cp500')
for line in f:
print(line)
我也尝试使用国际编码格式"cp1140"。
with open(file, 'r', encoding="cp1140") as f:
for line in f:
print(line)
我期望有一个可读的输出 - 一个像这样的复制簿布局...
0001***********
0002...........
0003...........
但是以上三个都打印输出为:
C¢C£C¢C¥C¢C§CeCuC¾ C¢C¢C¢âCdCjC¢C¥C¼C½C¥ [/Ch.
我也尝试以“rb”模式读取文件:
with open(file, 'rb') as f:
for line in f:
print(line)
这将会产生以下输出:
b'\xc3\xb0\xc3\xb1\xc3\xb0\xc3\xb2\xc3\xb0\xc3\xb5\xc3\x85\xc3\xa4\xc3\xb9@@@@@@@\xc3\xb0\xc3\xb0\xc3\xb0 :B\xc3\x84\xc3\x91\xc3\xb0\xc3\xb2\xc3\xb7\xc3\xb8\xc3\xb2@@@Ja\xc3\x88K'
这是我第一次处理EBCDIC /主机文件-希望能得到解码方面的任何帮助!
提前致谢 :)