回答編集履歴

3

誤字

2015/08/03 21:11

投稿

sharow
sharow

スコア1149

test CHANGED
@@ -84,7 +84,7 @@
84
84
 
85
85
  ===
86
86
 
87
- 質問ついての追記(コメント欄ではマークダウン記法ができないので…)。
87
+ 質問ついての追記(コメント欄ではマークダウン記法ができないので…)。
88
88
 
89
89
 
90
90
 

2

質問への回答

2015/08/03 21:10

投稿

sharow
sharow

スコア1149

test CHANGED
@@ -79,3 +79,89 @@
79
79
 
80
80
 
81
81
  UNICODEコードポイントの1次情報源は[こちら](http://unicode.org/charts/)です。
82
+
83
+
84
+
85
+ ===
86
+
87
+ 質問へついての追記(コメント欄ではマークダウン記法ができないので…)。
88
+
89
+
90
+
91
+ > 例に挙げてくださった,’あ’の変換は理解できるのですが,実際にテキストファイル内の文字をコードポイントへ変換する場合はどうしたらよいのでしょうか.
92
+
93
+
94
+
95
+
96
+
97
+ forとかで回せば1文字ずつ取得できますよ。
98
+
99
+
100
+
101
+ ```
102
+
103
+ s = 'あいうえお'
104
+
105
+ for letter in s:
106
+
107
+ print(letter, ord(letter))
108
+
109
+ ```
110
+
111
+
112
+
113
+ ```
114
+
115
+ $ python a.py
116
+
117
+ あ 12354
118
+
119
+ い 12356
120
+
121
+ う 12358
122
+
123
+ え 12360
124
+
125
+ お 12362
126
+
127
+ ```
128
+
129
+
130
+
131
+ テキストファイルから読み込む場合は、使われるエンコーディングがプラットフォーム依存なので`encoding=`で指定しておいたほうが良いです。
132
+
133
+
134
+
135
+ ```
136
+
137
+ with open('some_text_file', encoding='utf-8') as f:
138
+
139
+ for line in f:
140
+
141
+ for letter in line:
142
+
143
+ print(letter, ord(letter))
144
+
145
+ ```
146
+
147
+
148
+
149
+
150
+
151
+ ```
152
+
153
+ $ python b.py
154
+
155
+ 今 20170
156
+
157
+ 日 26085
158
+
159
+ は 12399
160
+
161
+ 暑 26257
162
+
163
+ い 12356
164
+
165
+ ! 65281
166
+
167
+ ```

1

修正

2015/08/03 21:09

投稿

sharow
sharow

スコア1149

test CHANGED
@@ -1,4 +1,4 @@
1
- Python3.xの文字列はUNICODEのコードポイントの値の並び(シーケンス)ですので、判定はコードポイントの範囲内にあるか比較するだけです。
1
+ Python3.xの文字列はUNICODEのコードポイントの値の並び(シーケンス)ですので、判定はコードポイントがどの範囲内にあるか比較するだけです。
2
2
 
3
3
 
4
4