Преобразование (doublebyte) строки в шестнадцатеричный

Скажем, у меня есть слово «русский», написанное на кириллице. Это будет бивалент следующего в Hex:

Русский 

Мой вопрос: как написать функцию, которая будет идти от «русского» на кириллице до ее шестнадцатеричного значения, как указано выше? Может ли эта же функция работать и для одиночных байтовых символов?

〹 thingies называются HTML-сущностями. В PHP есть функция, которая может создавать эти: mb_encode_numericentity Docs , это часть расширения Multibyte String ( Demo ):

 $cyrillic = 'русский'; $encoding = 'UTF-8'; $convmap = array(0, 0xffff, 0, 0xffff); $encoded = mb_encode_numericentity($cyrillic, $convmap, $encoding); echo $encoded; # русский 

Однако: вам нужно знать кодировку вашей кириллической строки. В этом случае я выбрал UTF-8 , в зависимости от этого вам нужно изменить параметр $encoding функции и массив $convmap .

Ваш предоставленный пример не является шестнадцатеричным, но если вы хотите преобразовать его в hex, попробуйте следующее:

 function strToHex($string) { $hex=''; for ($i=0; $i < strlen($string); $i++) { $hex .= dechex(ord($string[$i])); } return $hex; } function hexToStr($hex) { $string=''; for ($i=0; $i < strlen($hex)-1; $i+=2) { $string .= chr(hexdec($hex[$i].$hex[$i+1])); } return $string; } echo strToHex('русский'); // d180d183d181d181d0bad0b8d0b9