Преобразование строки в значение ASCII python

Как бы вы преобразовали строку в значения ASCII?

Например, «привет» вернет 104105.

Я могу индивидуально выполнять ord ('h') и ord ('i'), но это будет проблематично, когда есть много писем.

6 Solutions collect form web for “Преобразование строки в значение ASCII python”

Вы можете использовать понимание списка:

>>> s = 'hi' >>> [ord(c) for c in s] [104, 105] 

Вот довольно краткий способ выполнения конкатенации:

 >>> s = "hello world" >>> ''.join(str(ord(c)) for c in s) '10410110810811132119111114108100' 

И своего рода забавная альтернатива:

 >>> '%d'*len(s) % tuple(map(ord, s)) '10410110810811132119111114108100' 

Если вы хотите, чтобы ваш результат был конкатенирован, как вы видите в своем вопросе, вы можете попробовать что-то вроде:

 >>> reduce(lambda x, y: str(x)+str(y), map(ord,"hello world")) '10410110810811132119111114108100' 
 def stringToNumbers(ord(message)): return stringToNumbers stringToNumbers.append = (ord[0]) stringToNumbers = ("morocco") 

Совершенно очевидно, почему нужно было бы объединить (десятичные) значения «ascii». Несомненно, что объединение их без ведущих нулей (или какого-либо другого дополнения или разделителя) бесполезно – ничто не может быть надежно восстановлено из такого вывода.

 >>> tests = ["hi", "Hi", "HI", '\x0A\x29\x00\x05'] >>> ["".join("%d" % ord(c) for c in s) for s in tests] ['104105', '72105', '7273', '104105'] 

Обратите внимание, что первые 3 выхода имеют разную длину. Обратите внимание, что четвертый результат совпадает с первым.

 >>> ["".join("%03d" % ord(c) for c in s) for s in tests] ['104105', '072105', '072073', '010041000005'] >>> [" ".join("%d" % ord(c) for c in s) for s in tests] ['104 105', '72 105', '72 73', '10 41 0 5'] >>> ["".join("%02x" % ord(c) for c in s) for s in tests] ['6869', '4869', '4849', '0a290005'] >>> 

Не замечайте таких проблем.

ваше описание довольно запутанно; прямая конкатенация десятичных значений не кажется полезной в большинстве контекстов. следующий код будет прикладывать каждую букву к 8-битовому символу, а THEN – конкатенацию. это то, как работает стандартная кодировка ASCII

 def ASCII(s): x = 0 for i in xrange(len(s)): x += ord(s[i])*2**(8 * (len(s) - i - 1)) return x 
  • Удаление символов не-ascii из любого заданного типа string в Python
  • Как преобразовать символы xxY в UTF-8 в Python?
  • Строка Python печатает как
  • Чтение строк за пределами SUB в Python
  • Ошибка спецификации Python в файле Ascii
  • Python - Как изменить байты в файле
  • Python: конвертировать Unicode в ASCII без ошибок
  • Чтение файла ASCII в Python (numpy-array?)
  •  
    Interesting Posts for Van-Lav

    Загрузка и кодирование .xls Файл Python Web.py

    Как мне получить доступ к библиотеке, выпущенной из модуля, в Python Google App Engine?

    Возможно ли реализовать функцию «изменить пароль при следующем входе в систему» ​​в администраторе django?

    Игнорировать некоторые модули в autodoc

    Как сделать объединение мультииндекса данных с единым индексом данных?

    как я могу создать диспетчер контекста 2.7 python threadsafe

    Как передать команды в приложение из python

    Как найти pg_config путь

    Преимущества скрученной пены – Асинхронный способ использования python suds soap lib

    Pandon pandas: как указать типы данных при чтении файла Excel?

    Python Logging (имя функции, имя файла, номер строки) с использованием одного файла

    Что означает опция «-U» для установки pip -U

    Как загрузить текстовый файл или некоторые объекты с веб-страницы с помощью Python?

    Приложения Python: можете ли вы каким-то образом защитить свой код?

    Threading в python не происходит параллельно

    Python - лучший язык программирования в мире.