Бинарное представление строки питон

Преобразование целого числа в двоичную строку в Python

В этом посте мы обсудим, как преобразовать целое число в двоичную строку в Python.

1. Использование str.format() функция

Простое решение — использовать str.format() Функция, которая выполняет операцию форматирования строки. Чтобы преобразовать целое число в его двоичное представление, вы можете использовать тип представления строки b .

Чтобы получить двоичную строку указанной длины, дополненную слева всеми нулями, вы можете изменить спецификацию форматирования на :

2. Использование f-строк

Начиная с Python 3.6 вы можете использовать f-строки. Это можно сделать, поставив перед строковым литералом префикс f или же F . Вот как будет выглядеть код:

3. Использование format() встроенная функция

Другой вариант — использовать встроенную функцию format(value[, format_spec]) который преобразует указанный value в отформатированную строку в соответствии со спецификацией форматирования format_spec . Вот пример его использования:

4. Использование bin() встроенная функция

Наконец, вы можете использовать встроенную функцию bin() , который преобразует целое число в двоичную строку с префиксом 0b . Вы можете использовать нарезку, чтобы избавиться от префикса, как показано ниже:

Чтобы получить двоичную строку указанной длины, дополненную слева нулями, вы можете использовать zfill() функция:

Это все о преобразовании целого числа в двоичную строку в Python.

Средний рейтинг 5 /5. Подсчет голосов: 29

Голосов пока нет! Будьте первым, кто оценит этот пост.

Сожалеем, что этот пост не оказался для вас полезным!

Расскажите, как мы можем улучшить этот пост?

Спасибо за чтение.

Пожалуйста, используйте наш онлайн-компилятор размещать код в комментариях, используя C, C++, Java, Python, JavaScript, C#, PHP и многие другие популярные языки программирования.

Как мы? Порекомендуйте нас своим друзьям и помогите нам расти. Удачного кодирования 🙂

Этот веб-сайт использует файлы cookie. Используя этот сайт, вы соглашаетесь с использованием файлов cookie, нашей политикой, условиями авторского права и другими условиями. Читайте наши Политика конфиденциальности. Понятно

Читайте также:  Задача словарь синонимов python

Источник

Перевод строки в двоичный код в Python

В этой статье мы узнаем, как преобразовать и перевести строку в ее двоичный код в Python. Мы знаем, что строки представляют собой последовательность строк и обозначаются кавычками.

Двоичные числа представлены в виде нулей и единиц, информация всегда кодируется в двоичном формате, поскольку это то, что понимает компьютер.

Методы преобразования строки в двоичный файл, которые мы будем использовать здесь, включают join(), ord(), format() и bytearray().

Мы должны взять соответствующие значения ASCII символов, которые присутствуют в строке, и преобразовать их в двоичные.

Давайте посмотрим на описание функций, которые мы взяли в нашем наборе инструментов:

  1. join() – берет все элементы и объединяет их в единый объект (в результате получается одна строка).
  2. ord() – этот метод принимает символ и преобразует его в соответствующее значение UNICODE.
  3. format() – метод принимает значение и вставляет его там, где присутствуют заполнители, он также используется для объединения частей строки с заданными интервалами.
  4. bytearray() – возвращает массив байтов.

Следующая программа показывает, как это можно сделать:

# declaring the string str_to_conv = "Let's learn Python" # printing the string that will be converted print("The string that we have taken is ",str_to_conv) # using join() + ord() + format() to convert into binary bin_result = ''.join(format(ord(x), '08b') for x in str_to_conv) # printing the result print("The string that we obtain binary conversion is ",bin_result)
The string that we have taken is Let's learn Python The string that we obtain binary conversion is 010011000110010101110100001001110111001100100000011011000110010101100001011100100110111000100000010100000111100101110100011010000110111101101110

Давайте разберемся, что мы сделали в вышеуказанной программе.

  1. Прежде всего, мы объявили строку, которую нужно преобразовать в двоичную форму, со значением «Let’s learn Python».
  2. Следующим шагом является отображение созданной нами строки, чтобы с помощью вывода было легко понять, какая из них является нашей строкой и каков ее двоичный эквивалент.
  3. Затем мы использовали метод format() и указали его параметры как ord() и ’08b’, который берет каждый символ из нашей строки с помощью цикла for и конвертирует их в двоичный формат.
  4. Общий результат сохраняется в переменной bin_result и, наконец, мы отображаем его значение.

В следующем примере мы сделаем то же самое, используя bytearray().

# declaring the string str_to_conv = "Let's learn Python" # printing the string that will be converted print("The string that we have taken is ",str_to_conv) # using join(), format() and bytearray() to convert into binary bin_result = ''.join(format(x,'08b') for x in bytearray(str_to_conv,'utf-8')) # printing the result print("The string that we obtain binary conversion is ",bin_result)
The string that we have taken is Let's learn Python The string that we obtain binary conversion is 010011000110010101110100001001110111001100100000011011000110010101100001011100100110111000100000010100000111100101110100011010000110111101101110

Давайте посмотрим, насколько отличался вышеуказанный подход.

  1. Прежде всего, мы объявили строку, которую нужно преобразовать в двоичную форму, со значением «Let’s learn Python».
  2. Следующим шагом является отображение созданной нами строки, чтобы с помощью вывода было легко понять, какая из них является нашей строкой и каков ее двоичный эквивалент.
  3. Затем мы использовали функцию bytearray(), в которой каждый символ из строки берется с помощью цикла for и конвертируется в двоичный.
  4. Общий результат сохраняется в переменной bin_result и, наконец, мы отображаем его значение.
Читайте также:  Work with text in python

Источник

How to convert string to binary in Python(4 ways)

In this post,we are going to learn how to convert string to binary in Python with examples using built in function join() ,ord() ,format() and bytearray(),map(),bin() and Math module.

1. Using ord(),format() to convert string to binary

In this example, we are using three functions join(), ord(), format() to convert string to its binary representation and for loop to iterate over each character of the string, format() function to insert a value between placeholder finally using join() function to concatenate the element by space delimiter.

  • ord() : This function returns the number representing the unicode of given character. It takes a string as an argument and returns its unicode
  • format() : The format() function format the given value and insert the value between the placeholder.
  • Join() : The join() method concatenate the elements by delimiter.

Python Program to Convert string to binary in Python

  • val: The number that we want to convert into binary string
  • Format : It convert the passed value to given format.

The join() function concatenate the element by space delimiter. Let us understand with an example.

Python Program to convert string to binary in Python

In this example, we have defined a custom method str_binary() that takes a string as an argument and returns binary representation.

def str_binary(Str): binaryStr = ' '.join(format(i, '08b') for i in bytearray(Str, encoding ='utf-8')) print(binaryStr) Str = "Good Morning" str_binary(Str)
01000111 01101111 01101111 01100100 00100000 01001101 01101111 01110010 01101110 01101001 01101110 01100111

3. Map() to convert string to binary in Python

In this example, we are using the bytearray that returns an array of the byte in our example its returns an array of bytes for a given string “str”, using map() along with bin() to get the binary of given string.

Читайте также:  Example header and cpp file

Python Program to convert string to binary in Python

def str_binary(Str): binaryStr = ' '.join(map(bin, bytearray(Str, encoding ='utf-8'))) print(bytearray(Str, encoding ='utf-8')) print(binaryStr) Str = "Good Morning" str_binary(Str)
0b1000111 0b1101111 0b1101111 0b1100100 0b100000 0b1001101 0b1101111 0b1110010 0b1101110 0b1101001 0b1101110 0b1100111

4. Math Module,ord(),bin() to convert string to binary

In this example we have defined a custom function name “Strto_Binary” first, we are using ord() to get numbers that represent Unicode of given characters in a string and append them to a list.

In the second step, we are using bin() to get the binary value of each character and [2:] to remove the prefix “0b” and appending them to result in the list(mod_list) and return the result list. We are calling the custom function “Strto_Binary” bypassing the string that we want to convert into binary.

Python Program to convert string to binary

def Strto_Binary(str): list,mod_list=[],[] for item in Str: list.append(ord(item)) for item in list: mod_list.append(int(bin(item)[2:])) return mod_list print(Strto_Binary("Good Morning"))
[1000111, 1101111, 1101111, 1100100, 100000, 1001101, 1101111, 1110010, 1101110, 1101001, 1101110, 1100111]

Summary

In this post, we have learned how to convert string to binary in Python with code example by using built in function join() ,ord() ,format() and bytearray(),map(),bin() and Math module.

Источник

Python-сообщество

[RSS Feed]

  • Начало
  • » Python для новичков
  • » Конвертировать строку в двоичное представление и обратно

#1 Апрель 26, 2011 17:49:25

Конвертировать строку в двоичное представление и обратно

Доброго времени суток. Никак не могу разобраться как правильно сконвертировать строку в bin. Пока пользуюсь конструкцией вида:

def convert_to_bin(): #в бин через hex 
bin_list=[]
hex_list=[]
for txt_str in txt_file:
toHex = lambda string:"".join([hex(ord(char))[2:].zfill(2) for char in string])
hex_list.append(toHex(txt_str))
for item in hex_list:
bin_list.append(bin(int(item,16))[2:])
return bin_list

#и обратно
i = bin(int(str(data),16))[2:]
i_h = hex(int(i,2))[2:][:-1]
for char in range(0,len(i_h),2):
char_list.append(chr(int(i_h[char:char+2],16)))

Но, к сожалению, такое решение не работает при больших строках и в итоге получаю квадраты вместо символов. Подскажите более корректное решение.

Отредактировано (Апрель 26, 2011 17:49:45)

#2 Апрель 26, 2011 19:24:13

o7412369815963 От: Зарегистрирован: 2009-06-17 Сообщения: 1986 Репутация: 32 Профиль Отправить e-mail

Конвертировать строку в двоичное представление и обратно

>>> ''.join(map(lambda x:bin(ord(x))[2:],'Привет мир!'))
'110100001001111111010001100000001101000010111000110100001011001011010000101101011101000110000010100000110100001011110011010000101110001101000110000000100001'
>>> 'Привет мир!'.encode('base64')
'0J/RgNC40LLQtdGCINC80LjRgCE=\n'

Отредактировано (Апрель 26, 2011 19:28:39)

Источник

Оцените статью