Python - Stringをbytesに変換する方法

Pythonで文字列(String)をバイト(byte)に変換する方法を紹介します。

1. bytes() 関数で文字列をバイトに変換

bytes(string, encoding) を利用して文字列を bytes に変更できます。変更したいエンコーディングを引数に渡してください。 タイプを確認すると、bytesに変更されたことがわかります。

my_string = "Hello world, Python"
print(my_string)

result = bytes(my_string, 'utf-8')
print(result)
print(type(result))

Output:

Hello world, Python
b'Hello world, Python'
<class 'bytes'>

2. encode() 関数で文字列をバイトに変換

string.encode(encoding) を使って byte に変換することもできます。 encodingは引数に渡すだけです。

my_string = 'Hello world, Python'
print(my_string)

result = my_string.encode('utf-8')
print(result)
print(type(result))

Output:

Hello world, Python
b'Hello world, Python'
<class 'bytes'>

3. バイトを文字列に変換

string.decode() を使った方法

string.decode(encoding) で bytes を string に変換できます。 エンコードするときに使用されたタイプを引数に渡すだけです。

# bytes
bytes = b'Hello world, Python'
print(bytes)
print(type(bytes))

# decode bytes to string
result = bytes.decode('utf-8')
print(result)
print(type(result))

Output:

b'Hello world, Python'
<class 'bytes'>
Hello world, Python
<class 'str'>

str() を使った方法

str(bytes, encoding) で bytes を文字列に変換できます。

# bytes
bytes = b'Hello world, Python'
print(bytes)
print(type(bytes))

# decode bytes to string
result = str(bytes, 'utf-8')
print(result)
print(type(result))

Output:

b'Hello world, Python'
<class 'bytes'>
Hello world, Python
<class 'str'>

References

Related Posts

codechachaCopyright ©2019 codechacha