1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

文字コード【character code】キャラクターコード

Last updated at Posted at 2022-07-06

d3a2218dfb801446034f3ac9a51402dd.png
図引用元 URL

符号化文字集合と符号化形式

1.符号化文字集合:「文字」と「文字に割り当てた番号」の対応表
2.符号化形式:「文字に割り当てた番号」と「実際にコンピュータさんが扱う数字」の対応表
参考:アスキーコードなどは「文字に割り当てた番号」と「実際にコンピュータさんが扱う数字」が同じ

引用元 URL

image.png

図引用元 URL

UnicodeEncodeError

→エンコードできなかった際に発生する

「あ」のエンコード結果

"あ".encode('utf-8') >>> b'\xe3\x81\x82'
"あ".encode('cp932') >>> b'\x82\xa0'

「�」のエンコード結果

"�".encode('utf-8') >>> b'\xef\xbf\xbd'
"�".encode('cp932') >>> UnicodeEncodeError

項目 説明 備考
b’...‘ バイトコード
u’...‘ Uniコード(python3.xからは不要)
\x○○ 16進数hexを表す

BOM

"あ" encode('utf-8')

BOM BOM BOM
10進数 227 129 130
16進数 e3 81 82
10進数 239 187 191 227 129 130
16進数 ef bb bf e3 81 82

ASCII

・7ビット(2^7)で表現
・先頭の「0」(=1ビット)は「パリティ」

- 上桁(2進数) 0000
制御
0001
制御
0010 0011 0100 0101 0110 0111
下桁(2進数) 16進数 0 1 2 3 4 5 6 7
0000 0 NUL DLE SP 0 @ P ` p
0001 1 SOH DC1 ! 1 A Q a q
0010 2 STX DC2 " 2 B R b r
0011 3 ETX DC3 # 3 C S c s
0100 4 EOT DC4 $ 4 D T d t
0101 5 ENQ NAK % 5 E U e u
0110 6 ACK SYN & 6 F V f v
0111 7 BEL ETB ' 7 G W g w
1000 8 BS CAN ( 8 H X h x
1001 9 HT EM ) 9 I Y i y
1010 A LF SUB * : J Z j z
1011 B VT ESC + ; K [ k {
1100 C FF FS , < L |l
1101 D CR GS - = M ] m }
1110 E SO RS . > N ^ n ~
1111 F SI US / ? O _ o DEL

文字 上桁 下桁 文字コード
A 0100 0001 01000001

制御文字

「0000」と「0001」の2列を制御文字という

比較

コード名 サイズ 備考
ASCII 7bit(=2^7)
Jis 1byte(=8bit =2^8)
SJis 2byte(=16bit =2^16) Windows
EUC 2byte or 3byte(補助漢字など) UNIX
Unicode 1~6byte可変長 世界中の文字に対応
1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?