2020年06月09日

Python3 文字列のスライスにおける留意点

a = 'ABCD'

print(a[1:3])

# 'BC'

# 文字列[開始インデックス:終了インデックス]]
# 開始インデックスは、切り取り部分の開始オフセット(先頭は0から)
# 終了インデックスは、切り取り部分の終了オフセット +1

# 0-A-1-B-2-C-3-D-4
posted by 貝貝 at 15:38| Comment(0) | Python | このブログの読者になる | 更新情報をチェックする

Python3 Unicode(UTF-16) --> SJIS 変換

・Windowsのシステムファイルは、日本語がUnicode(UTF-16)で記録されている
・そのようなデータを入力してパース処理をする際、出力をSJISに変換するサンプルコード

#入出力ファイルのオープンと入力ファイル読込
import sys,io
ifile = 'unicode.dat'
ofile = 'sjis.txt'
DAT = open(ifile, 'rb').read()
TXT = open(ofile, 'w')

#Unicode5文字分をバッファへ転送(入力ファイルの3byte目から)
jp_uni = bytes(DAT[2:12])

#SJISへ変換してテキストファイルへ出力
TXT.write(jp_uni.decode('utf-16'))

#Windowsではデフォルト文字コードがSJISのため、decodeメソッドでSJISに変換される
ラベル:Python
posted by 貝貝 at 14:37| Comment(0) | Python | このブログの読者になる | 更新情報をチェックする