【问题标题】:Hex Numbers to Text十六进制数字到文本
【发布时间】:2014-02-07 00:30:30
【问题描述】:

十六进制数字转文本的方法是什么。例如,文本中的 54 68 6f 6d 61 73 可能是 Thomas。我认为我用二进制错误地概念化了十六进制小数以及它们的工作方式。

【问题讨论】:

  • 您是寻求总体实现还是想知道如何用特定语言实现?
  • 如果您在十六进制编辑器中打开文件,您会看到十六进制数字。但它只是字节,所以如果你知道文件的编码,你可以读取它并将其转换为 Unicode。
  • @RafalZiolkowski 我只是想知道一般的实现。

标签: unicode binary hex binaries


【解决方案1】:

从 powershell 我发现它是这样的。提示,我使用了 [Char]acter 和 Convert .NET 类。

$1=[Char][Convert]::ToUInt32('54',16)
$2=[Char][Convert]::ToUInt32('68',16)
$3=[Char][Convert]::ToUInt32('6f',16)
$4=[Char][Convert]::ToUInt32('6d',16)
$5=[Char][Convert]::ToUInt32('61',16)
$6=[Char][Convert]::ToUInt32('73',16)

$1+$2+$3+$4+$5+$6

结果

Thomas

如果您想处理任何其他格式,请在此处查找语法。

http://msdn.microsoft.com/en-us/library/system.convert%28v=vs.110%29.aspx

【讨论】:

    【解决方案2】:

    这里的主要思想(我认为这就是您要问的)是文本中的每个 Unicode 符号都使用其代码点值以十六进制表示法表示。

    例如,符号 a 根据 Unicode 标准是 U+0061 LATIN SMALL LETTER A,因此您可以将其表示为 0x6161 十六进制。

    这适用于 ASCII 符号。对于更高的代码点,它取决于表示。例如,十六进制数字列表可以引用 UTF-8 编码形式的字符串。

    【讨论】:

    • 我希望他们允许我们将两个答案标记为有帮助!感谢您的意见!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-02-04
    • 2018-05-17
    • 2015-08-08
    • 2023-03-14
    • 2011-12-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多