gpt4 book ai didi

python - 使用python进行数据编码和解码

转载 作者:行者123 更新时间:2023-11-30 23:08:34 24 4
gpt4 key购买 nike

这不是一个编程问题,而是一个了解什么是什么的问题?我不是 CS 专业的,我试图了解这 3 种格式之间的基本区别:

1) EBCDIC 2) 无符号二进制数 3) 二进制编码十进制

如果这不是一个真正的问题,我很抱歉,但谷歌在向我解释这一点时并没有多大用处

假设我有一串数字,例如“12890”。他们的代表是什么

EBCDIC,无符号二进制数和BCD格式?

是否有一个 python 2.6 库可以用来简单地将任何数字字符串转换为这些格式中的任何一种?

例如,对于字符串到 ebcdic,我正在做

def encodeEbcdic(text):
return text.decode('latin1').encode('cp037')

print encodeEbcdic('AGNS')

但是,我明白了┴╟╒Γ

最佳答案

EBCDIC 是一种 IBM 字符编码。它用于对文本进行编码。当然,数字可以出现在文本中,例如“宾夕法尼亚大道 1600 号”,因此也有数字代码。要将1600转换为EBCDIC,您需要找到一个EBCDIC表。然后,您查找 1 的代码、6 的代码和 0 的代码(两次)。根据 http://www.astrodigital.org/digital/ebcdic.html 处的表。0 到 9 的 EBCIDIC 代码分别是 F0 到 F9。这看起来很熟悉,但我不能说我真的记得。

无符号二进制数就是这样。这是以二为基数书写的数字。 (见下文。)

二进制编码十进制 (BCD) 是一种旧格式,用于在数字计算机上存储数字的十进制表示形式。每个十进制数字都由其等价的二进制数表示。我们以 64 为例。由于 64 只是 2 的 6 次方,因此在二进制中它表示为 1 后跟 6 个 0:1000000。在二进制编码的十进制中,我们将 6 写为二进制 - 0110,将 4 写为二进制 - 0100,这样BCD 表示形式是 01100100。每个数字需要四位,因为最大的十进制数字 9 可以计算为 1001。BCD 在 COBOL 中广泛使用。如果现在在其他地方使用它,我对这个应用程序并不熟悉。

编辑:我应该解释一下,EBCDIC 中的 F0、F1 等是十六进制代码,因此 F 是 1111,数字与 BCD 中的相同。因此,数字的 EBCDIC 与 BCD 相同,但每个数字前多了一个 1111。

关于python - 使用python进行数据编码和解码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31638575/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com