Найти - Пользователи
Полная версия: Преобразование hex
Начало » Python для новичков » Преобразование hex
1 2
sleep
Здравствуйте. Подскажите решение такой проблемы. Есть hex список нужно преобразовать hex обратно в слово . Делаю так:
        s = 'привет' 
hex_chars = map(hex,map(ord,s))
print hex_chars #['0xef', '0xf0', '0xe8', '0xe2', '0xe5', '0xf2'].
hex_string = "\\".join(c[1:4] for c in hex_chars)
print hex_string #xef\xf0\xe8\xe2\xe5\xf2
По всей видимости когда преобразовую меняется тип переменной, потому что если сделать так
        hex_strings = 'x73\x74\x72\x69\x6e\x67'
print hex_strings #x73tring
то почти выводит)))) слеша впереди не хватает.
doza_and
??
a=['0xef', '0xf0', '0xe8', '0xe2', '0xe5', '0xf2']
"".join(map(chr,map(eval,a)))
>>> 'привет'
"".join([chr(eval(i)) for i in a])
>>> 'привет'
Это надо?
poltergeist
>>> s = u'привет'.encode('utf-8')
>>> h = [hex(ord(c)) for c in s]
>>> h
['0xd0', '0xbf', '0xd1', '0x80', '0xd0', '0xb8', '0xd0', '0xb2', '0xd0', '0xb5', '0xd1', '0x82']
>>> print "".join(chr(int(i, 16)) for i in h)
привет
sleep
Да это оно, оказалось так просто)). Огромное спасибо. Еще один вопрос есть строка u'\х041f\х0438\х0442\х043e\х043d'. Питон выводит только такую строку u'\u041f\u0438\u0442\u043e\u043d'. Есть методы вывода первой строки? Или ее нужно как то преобразовывать?
doza_and
выводить можно в разные места
f.write(s)
print(s)
Если print не справляется - приводите к кодировке в кторой работает ваша консоль.
sleep
Перепробовал кучу методов все не то(. Нужно как то строку в UTF-8 допустим эту ‘\x0414\x041A’ преобразовать в такой вид u'\u0414\u041A' .encode('cp1251'). Или в во что нибудь чтоб нормально отображало. Подскажите как это сделать?
Андрей Светлов
>>> s = ‘\x0414\x041A’
>>> s.decode('unicode-escape')
u'\x0414\x041A'
sleep
Это немного не то. Или у вас нормально выводит буквы ДК? Вся загвоздка перекодировать так чтобы внутри строки, все «х» стали «u». Понимаю тупая идея но единственное что в голову приходит))))
sypper-pit
используй регулярные выражения и ‘\x0414\x041A’ преобразовывай по поиску в ‘\u0414\u041A’
import re только для начала тебе надо избавиться от косой черты
sypper-pit
блин не могу избавиться от косой черты , навождение просто, использовал re.sub
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB