DEV Community

Danil Poletavkin
Danil Poletavkin

Posted on

Строки и строки байтов в Python

Строка - это набор символов, а строка байтов - это именно это и есть - строка байтов. Обычная строка перед тем, как станет возможным сохранить её на компьютере должна быть преобразована (encoding) в строку байтов.

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

Тем не менее в Python если какой-то переменной присвоить строку байтов b'string' и вывести в консоль, то Python представит строку байтов как строку доступную для чтения.

s=b'string'
print(s)
# Вывод: b'string'
Enter fullscreen mode Exit fullscreen mode

Здесь дело в том, что перед выводом на консоль команда print преобразовывает строку байтов в формат, удобный для чтения, то есть в обычную строку. На самом деле это будет по-прежнему строка байтов, а не набор символов как каком-то из международных языков. К примеру можно представить набор символов строки s в шестнадцатеричном формате

c=s.hex()
print(s)
# Вывод: 737472696e67
Enter fullscreen mode Exit fullscreen mode

Использован ответ пользователя stackoverflow.com

https://stackoverflow.com/a/31322359/12613870

Heroku

This site is built on Heroku

Join the ranks of developers at Salesforce, Airbase, DEV, and more who deploy their mission critical applications on Heroku. Sign up today and launch your first app!

Get Started

Top comments (0)

Sentry image

See why 4M developers consider Sentry, “not bad.”

Fixing code doesn’t have to be the worst part of your day. Learn how Sentry can help.

Learn more

👋 Kindness is contagious

Please leave a ❤️ or a friendly comment on this post if you found it helpful!

Okay