回答編集履歴

1

追記

2017/03/26 14:59

投稿

Zuishin
Zuishin

スコア28660

test CHANGED
@@ -1 +1,51 @@
1
1
  Python のバージョンを確認してみてください。2 と 3 では文字列の扱いが異なりますし、2 の場合は環境によって異なるエンコードを使います。
2
+
3
+
4
+
5
+ 追記
6
+
7
+
8
+
9
+ [Pythonの日本語処理](http://www.wakayama-u.ac.jp/~kazama/lab/python/i18n.html)
10
+
11
+ ```
12
+
13
+ Pythonでは,文字列は8ビット単位で格納され,その文字符号化はプラットフォームによって異なる.
14
+
15
+
16
+
17
+ 文字列は次のように生成する.
18
+
19
+
20
+
21
+ >>> s='日本語'
22
+
23
+ >>> print s
24
+
25
+ 日本語
26
+
27
+ なお,プラットフォームにより,変数sにどのような値が入っているかは異なる.例えば,Mac OS Xでは,この文字列はUTF-8で符号化され,文字列長は9バイトである.
28
+
29
+
30
+
31
+ >>> s
32
+
33
+ '\xe6\x97\xa5\xe6\x9c\xac\xe8\xaa\x9e'
34
+
35
+ >>> len(s)
36
+
37
+ 9
38
+
39
+ Windowsでは,CP 932で符号化され,文字列長は6バイトである.
40
+
41
+
42
+
43
+ >>> s
44
+
45
+ '\x93\xfa\x96{\x8c\xea'
46
+
47
+ >>> len(s)
48
+
49
+ 6
50
+
51
+ ```