Шестнадцатеричные числа в текст

Какой метод для преобразования шестнадцатеричных чисел в текст. Например, 54 68 6f 6d 61 73 в тексте может быть Томас. Я думаю, что я неправильно концептуализирую шестнадцатеричные числа с двоичными числами и как они работают.

2 ответа

Решение

С 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

Основная идея здесь (и я думаю, что это то, что вы спрашиваете) состоит в том, что каждый символ Unicode в тексте представлен с использованием значения его кодовой точки в шестнадцатеричной записи.

Например, символ a U+0061 LATIN SMALL LETTER A согласно стандарту Unicode, так что вы можете представить его как 0x61 или же 61 в шестнадцатеричном виде

Это хорошо работает для символов ASCII. Для более высоких кодовых точек это зависит от представления. Например, список шестнадцатеричных цифр может относиться к форме строки в кодировке UTF-8.

Другие вопросы по тегам