【发布时间】:2018-01-10 21:15:26
【问题描述】:
我在接受一家著名 IT 公司的采访时被问到这个问题。他们让我建议如果我们有很多字符并且 16 位 Unicode 还不够,将如何实现字符编码。我回答说我们可以为字符实现64 bit 编码。他们说,即使这还不够,我建议通过 java BigInteger 实现编码。
然后他们要求编码应该只占用所需的位。就像 A 的 ASCII 表示是 01000001 一样,我们不应该使用前导 0 因为我们不需要它而且我们正在浪费内存。我无法给出答案。如果可以请告诉我如何解决这个问题以及如何处理它。
【问题讨论】:
-
您可以研究它是如何以多种 Unicode 编码方式处理的。
-
当 Unicode 中定义的最高代码点适合 21 位时,64 位编码如何“不够”?成对使用时,即使 16 位也足够了。
标签: java unicode encoding ascii