5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【暫定】kivy-iosで文字列をShift_jisに変換する方法メモ kivy v1.8.0

Last updated at Posted at 2014-05-23

 Kivy-iosはデフォルトのままだとマルチバイトの日本語コーデックが組み込まれません。なので、設定の変更をして再コンパイルします。

”kivy-ios/src/python_files/”配下にあるModulesSetupに下記の記述を追加します。

ModulesSetup
# for Japanese(Windows Charactor Code)
_codecs_jp cjkcodecs/_codecs_jp.c
_multibytecodec cjkcodecs/multibytecodec.c

これだけだと、「UnicodeDecodeError: 'ascii' codec can't decode....」のようなエラーが発生してうまくいきません。いろいろ調べた結果、デフォルトのコーデックがasciiになっているためのようで、Python-2.7.1のデフォルトをutf-8に変更します(これは、コンパイルするときに新たに取ってきてしまうので ".cache"のgz2を直接変更します)。
下記のファイルを”Lib”配下に追加します。

sitecustomize.py
import sys
sys.setdefaultencoding("utf-8")

これで"tools/build-all.sh"を実行すれば準備完了です。

sample

utf8data = '1234'
sjisdata = utf8data.encode('shift_jis')
print to_hex(sjisdata)

実行すると正しく変換されます

0x8250825182528253

【注意】どうも、まだ完全ではないようで逆変換ができません。なにか分かり次第UPDATEする予定です。

5
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?