мне нужно загрузить третий столбец этого текстового файла в виде шестнадцатеричной строки
http://www.netmite.com/android/mydroid/1.6/external/skia /emoji/gmojiraw.txt
>>> open('gmojiraw.txt').read().split('\n')[0].split('\t')[2]
'\\xF3\\xBE\\x80\\x80'
Как открыть файл, чтобы получить третий столбец в виде шестнадцатеричной строки:
'\xF3\xBE\x80\x80'
Я также попробовал двоичный режим и шестнадцатеричный режим, но безуспешно.
Вы можете:
\ x
-es Код:
>>> '\\xF3\\xBE\\x80\\x80'.replace('\\x', '').decode('hex')
'\xf3\xbe\x80\x80'
Обратите внимание на соответствующую интерпретацию обратной косой черты. Когда строковое представление '\ xf3', это означает, что это однобайтовая строка со значением байта 0xF3. Когда вы вводите '\\ xf3', это означает строку, состоящую из 4 символов: \
, x
, f
и 3
Если вы доверяете источнику, вы можете использовать eval('"%s"' % data)
Если вы используете Python2.6 +, вот безопасный способ использования eval
>>> from ast import literal_eval
>>> item='\\xF3\\xBE\\x80\\x80'
>>> literal_eval("'%s'"%item)
'\xf3\xbe\x80\x80'
Вычеркнув «\ x» из ответа Эли, вы можете просто сделать:
int("F3BE8080",16)