【问题标题】:Are there UNICODE symbols for hex representation?十六进制表示是否有 UNICODE 符号?
【发布时间】:2017-08-10 06:13:35
【问题描述】:

我想转储一个数据流,并将字符 0x12 显示为一个字符“12”,左上角可能有一个小“1”,右下角可能有一个“2”。 UNICODE Con​​trol Pictures https://en.wikipedia.org/wiki/Control_Pictures 有一个类似的概念,它将“DC2”显示为一个字符,左上角有一个小“D”,右下角有一个“2”——但我希望它是十六进制的。

EDIT 我可以轻松地将不可打印的字节显示为 2 个字符,例如字节 0x12 为 'x' + '1' + '2' 但这需要 3 个打印位置。我希望它打印类似于“%”,其中左上角的“0”被一个小的图形“1”替换,右下角的“0”被一个小的图形“1”替换,并且没有图形笔划。这不是像base64这样的转换为可打印的传输目的;这是为了让我能够打印非显示字节并查看它们的内部位表示。

也许举个例子会有所帮助。让我们取一个 0x00004050 (big-endian) 的 32 位值(4 个字节);我想看到 4 个字符,例如 '%%@P'

EDIT2 生成的 UNICODE 文本将被写入 UNICODE 日志文件,以便在文本编辑器、浏览器或类似工具中通过眼球查看。使用 UNICODE 控件图片我现在可以做到这一点,但我希望为不可打印字符显示 HEX 而不是 C0 控件名称缩写。

我想(通过 UNICODE)查看 4 个十六进制、4 个符号、4 个数字和 4 个字母的示例:

【问题讨论】:

  • 您似乎要求使用 base-256 编码。我不知道这样做的任何标准方法。您可以随意定位 256 个连续的 Unicode 代码点并滚动您自己的代码点。如果您想以一定的长度扩展为代价变得更加标准,也许您可​​以只使用base-64?在 base-64 中有许多用于编码和解码字节流的库。
  • 我不这么认为。我们可以在 Unicode 10.0 中期待它。下面是成对的、单个的、全角字符、由 U+2060 分隔的数字、由 U+00A0 分隔的对的相反效果: 0⁠1 2⁠3 4⁠5 6⁠7 8⁠9 A⁠B C⁠D E⁠F
  • 你是如何渲染文本的?
  • 那么类似于 Unicode 十六进制查看器,每个字节使用 1 个字符而不是 2 个字符?
  • 您总是可以只使用 Unicode 的“私人使用”区域之一来定义您自己的表示字节 0x00-0xFF 的自定义代码点,然后创建您自己的字体以根据需要呈现这些代码点。跨度>

标签: unicode hex character


【解决方案1】:

没有。

kermit 开发人员提出了“Hex Byte Pictures for Unicode”的提案。根据他们的standards page,该提议被拒绝了。

【讨论】:

  • 这正是我想要的,但它被拒绝了 - 哈!?
猜你喜欢
  • 1970-01-01
  • 2010-09-24
  • 1970-01-01
  • 2011-06-06
  • 2017-05-16
  • 2017-06-23
  • 1970-01-01
  • 2014-11-14
相关资源
最近更新 更多