LoginSignup
4
3

More than 3 years have passed since last update.

文字コードってなんなの

Posted at

概要

「文字コードってなんなの?」という疑問に答えます。

文字コードってなんなの

文字コードは、文字に対応するバイト列のことです。

バイト列ってなんなの

バイト(byte)は 8bit のことです。 8bit は8桁の2進数のことです。

'00000000'    # 10進数では0   16進数でも0
'11111111'    # 10進数では255 16進数ではff

バイト列というのは、この 8bit が並んでるもののことです。

# こういうこと。
'000000001111111100000000'  # 2進数で
'00ff00'                    # 16進数で

Python ではバイト列を以下のように表現します。

# `\x` は16進数を表しています。
b'\x00\xff\x00'

# '00ff00' からの変換方法。
bytes.fromhex('00ff00')

そんなわけで、文字をこんなん(b'\x00\xff\x00')で表現したものが文字コード、だということになります。

実際の例

文字をバイト列に変換する方式はいくつかあり、そのひとつが UTF-8 という方式。

Python ではこんな風に変換できます。

print( 'a'.encode('UTF-8') )  # b'a'
print( 'ă'.encode('UTF-8') )  # b'\xc4\x83'
print( 'あ'.encode('UTF-8') )  # b'\xe3\x81\x82'
print( '🅰'.encode('UTF-8') )  # b'\xf0\x9f\x85\xb0'

この通り、文字とバイト列が対応しているのがわかります。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3