Select Language

AI Technology Community

2.11、Pythonバイトストリーム

私たちはコンピュータの記憶領域において、最小の記憶単位がバイトであることを知っています。各バイトは8ビットで構成されているため、各バイトの値の範囲は0~255です。

初期の段階では、1つのバイトを使って1つの文字を表現していました。これが有名なASCIIコードです。表1に示すのはASCIIコードの定義ですが、ここでは最初の128文字のみを列挙しています。これが最も初期のASCIIコードです。

表1:ASCIIコード一覧表
ASCIIコード値含 義
0空文字。一部の言語では文字列の終端文字として使用されます。
1タイトルの開始
2本文の開始
3本文の終了
4伝送の終了
5要求
6通知を受け取りました
7ベル音
8バックスペース。前の文字を削除するのと同じです。
9水平タブ
10改行キー
11垂直タブ
12改ページキー
13エンターキー
14切り替えなし
15切り替えを有効にする
16データリンクエスケープ
17デバイスコントロール1
18デバイスコントロール2
19デバイスコントロール3
20デバイスコントロール4
21受信拒否
22同期アイドル
23伝送ブロックの終了
24キャンセル
25メディアの終了
26代替
27エスケープ
28ファイル区切り文字
29グループ区切り文字
30レコード区切り文字
31ユニット区切り文字
32スペース。つまり、キーボード上で最も長いキーを押したのと同じです。
33!(感嘆符)。中国語の感嘆符ではなく、キーボード上で1と共用されているキーに対応しています。
34"(二重引用符)。中国語の二重引用符ではありません。
35#(シャープ)。つまり、Pythonでのコメントの開始文字です。
36$(ドル記号)
37%(パーセント記号)。整数の剰余演算の演算子です。
38&。整数のビットごとのAND演算子です。
39'(単一引用符)
40((開き括弧)
41)(閉じ括弧)
42*。整数の乗算演算子です。
43+(プラス記号)
44,(コンマ)
45-(マイナス記号)
46.(小数点)
47/(除算記号)。ディレクトリパスの区切り文字としても使用できます。例えば、c:/temp/a.py
48数字文字0。数字文字は連続しており、0と1のコードは1つ違い、1と2のコードも1つ違い、以下同様です。
49数字文字1
50数字文字2
51数字文字3
52数字文字4
53数字文字5
54数字文字6
55数字文字7
56数字文字8
57数字文字9
58: コロン
59; セミコロン
60< 小なり記号
61= 等号。Pythonでは代入記号として使用されます。
62> 大なり記号
63? 疑問符
64@ 電子メール記号
65大文字のA。大文字も連続しており、AとBのコードは1つ違い、BとCのコードも1つ違い、以下同様です。
66大文字のB
67大文字のC
68大文字のD
69大文字のE
70大文字のF
71大文字のG
72大文字のH
73大文字のI
74大文字のJ
75大文字のK
76大文字のL
77大文字のM
78大文字のN
79大文字のO
80大文字のP
81大文字のQ
82大文字のR
83大文字のS
84大文字のT
85大文字のU
86大文字のV
87大文字のW
88大文字のX
89大文字のY
90大文字のZ
91[。これはPythonではリストの開始記号として使用されます。
92\(バックスラッシュ)。通常はエスケープ文字として使用されます。例えば、“\n”は改行文字を表します。
93]
94^。Pythonでは排他的論理和演算子として使用されます。
95_(アンダースコア)
96`
97小文字のa。小文字も連続しており、aとbのコードは1つ違い、bとcのコードも1つ違い、以下同様です。
98小文字のb
99小文字のc
100小文字のd
101小文字のe
102小文字のf
103小文字のg
104小文字のh
105小文字のi
106小文字のj
107小文字のk
108小文字のl
109小文字のm
110小文字のn
111小文字のo
112小文字のp
113小文字のq
114小文字のr
115小文字のs
116小文字のt
117小文字のu
118小文字のv
119小文字のw
120小文字のx
121小文字のy
122小文字のz
123{
124|。Pythonでは論理和のビット演算を表します。
125}
126~。Pythonでは反転のビット演算を表します。
127削除。つまり、Delキーを押した入力です。


ASCIIコードは最大で256文字しか表現できないため、ラテン文字以外の文字をASCIIコードで表現することは困難です。この問題を解決するために、人々はUnicodeを定義しました。単一の文字は16ビットまたは32ビットで表現されます。この場合、文字とバイトの間には直接的な対応関係がありません。

Pythonでは、文字列とバイト列は2つの異なるデータ型です。バイト列は主にバイナリデータやネットワーク伝送データに使用され、文字列はテキストファイルやユーザー入出力などに使用されます。バイト列の定義は以下の通りです:

>>> var1 = b'abc'  # バイト列を定義します。3バイトで、内容は順にa、b、cです。
>>> type(var1)     # その型を確認します。
<class 'bytes'>


Pythonでは、バイト列と文字列は相互に変換することができます。特に、ラテン文字で構成された文字列とバイト列の相互変換は簡単です。

>>> 'abc'.encode("ascii")   # 文字列をASCIIエンコード方式でエンコードします。
b'abc'                      # バ
post
  • 26

    item of content
Pythonの基本データ型は全部で26章あります。
この章では、整数型、浮動小数点数、文字列、ブール型、リスト、タプル、セットおよび辞書など、Pythonが提供する基本的なデータ型について紹介します。また、これらのデータ型に対する演算操作についても解説します。
私たちはPythonが強タイプ言語であることを知っています。つまり、各変数の型は特定の時点でのみ確定します。言い換えれば、Pythonにおける任意の生存しているオブジェクトの型は一意です。異なる型のオブジェクトには異なる属性があり、異なる操作を実行できます。
さらに、この章の最後では変数やオブジェクトなどの概念についても触れられます。それぞれのオブジェクトには確定した型があり、各変数は特定のオブジェクトを指し示します。