Pythonにおける文字列と符号化例コード

2368 ワード

最新のPython 3バージョンでは、文字列はUnicodeで符号化されています.すなわち、Pythonの文字列は多言語をサポートしています.
コーディングとデコード
文字列はメモリにUnicodeで表され、文字列を操作する際にstrとbytesが互いに変換する必要があることが多い.ネットワーク上でディスクに転送または保存すると、メモリから読み出されたデータがstrとなり、strをバイト単位のbytesに変換することを符号化と呼び、ネットワークまたはディスクからバイトストリームを読み出すと、ネットワークやディスクから読み取ったデータがbytesであり、bytesをstrに変換し、復号と称して乱符号化を避けるには、strとbytesをUTF-8符号化で変換することを常に堅持しなければならない.
使用例:
1文字のエンコーディング

print(ord('A')) #  :65,         
print(chr(66)) #  :B,           

16進表記

print('  ') #  :'  ',
print('\u4e2d\u6587') #  :'  ','\u4e2d\u6587' '  '    ,           ,           str

bytesタイプのデータ表示
x=b'ABC'#Python byttesタイプのデータはb接頭辞付きの単一引用符または二重引用符で表され、'ABC'とb'ABC'は表示上全く同じであるが、bytesの各文字は1バイトしか占めていない
エンコーディング

print('ABC'.encode('ascii')) #  :b'ABC', Unicode   str  encode()          bytes
print( '  '.encode('utf-8')) #  :b'\xe4\xb8\xad\xe6\x96\x87',
print( '  '.encode('ascii')) #  :  ,       ascii     ,        

デコード

print(b'ABC'.decode('ascii')) #  :'ABC'
print(b'\xe4\xb8\xad\xe6\x96\x87'.decode('ascii')) #  :'  '
print(b'\xe4\xb8\xad\xff'.decode('utf-8', errors='ignore')) #  :' ',  bytes            ,    errors='ignore'       

長さの計算

#len(a)    a   ,  a          ,  a           
print(len('  ')) #  :2, 2   
print(len('ABC')) #  :3, 3   
print(len(b'ABC')) #  :3,  3   
print(len(b'\xe4\xb8\xad\xe6\x96\x87')) #  :6,  6   
print(len('  '.encode('utf-8'))) #  :6, 1       UTF-8        3   ,           6


ソースファイルの先頭とエンコード

#!/usr/bin/env python3      Linux/OS X  ,    Python     ,Windows         
# -*- coding: utf-8 -*-     Python   ,  UTF-8       ,                   

#注意:コンパイラにUTF-8符号化を使用することは意味しない.pyファイルはUTF-8で符号化するものであり、必ず確保しなければならない.pyファイルはUTF-8 without BOMコードで保存して、やっとファイルの中の中国語が正常に表示することを確保することができます
まとめ
以上、編集者がご紹介したPythonの文字列とコード例コードですが、皆さんに役に立つことを願っています.もし何か質問があれば、私にメッセージを送ってください.編集者はすぐに皆さんに返事します.