【发布时间】:2021-12-04 16:12:58
【问题描述】:
出于自学目的:
所以 ASCII 把每个字符都用二进制表示对吗? A = 65 = 01000001 等。不过我很好奇,如果您想暂时将变量切换为不同的变量以节省空间,有没有一种简单的方法可以做到这一点?就像我有一个只需要 4 个字母的项目,我可以存储 AR 为 01、RA 为 11、SQ 为 00、QS 为 10 吗?这样,如果我需要回读数据,它会快得多。我做了一点纸上数学,它会快 20 倍。
目前我主要使用 python,但我也有 C++ 经验。如果有人有想法,我会很感激使用那些具有内置函数的语言(如果存在)的答案。但就像我说的,我主要只是好奇。如果需要在接近硬件级别的情况下完成,那就太好了。
谢谢大家!!!
【问题讨论】:
-
你已经有了一个很好的答案。我只想补充一点,Python 字符串不是 ASCII,它们是 Unicode,它是 ASCII 的一个巨大超集,因此字符在物理上可以占用超过一个字节。最好不要将 Python 字符串视为字节数组(Python 对此有
bytes)。 -
当然,您可以定义任何您喜欢的表示。如果您需要显示任何内容,只需将其映射到字符串即可。