TextwellからPythonistaでへURLスキームを使って文章を飛ばすと文字化けする
2018/08/15
Pythonistaを使ってPythonスクリプトを組んでいた時、インプットした文字列をURLスキームを使って違うアプリに転送しようとすると『あいうえお』が『BDFHJ』に文字化けした。URLエンコードの方法を色々変えてみてもうまく文字列が転送されない。
大方のプログラムが終わって最後、いざ転送する箇所の処理を作って終わりのはずだったのに全然終わらない。なんでやねんちくせう。
UTF−8やらUTF−32やらのせいでうまくいっていないのはわかるけども、だからといって対処にしようがない。調べてみると下記の情報が見つかった。
- 参考記事
- 「あいうえお」が「BDFHJ」に文字化けする理由
- java
- python - Python
- Unicode 〜UTF-8、UTF-16との違い〜(文字コード関連) | 読み物 | ウナのIT資格一問一答
どうやらUTF−16からUTF−8に変換される時に上位2バイトのみが変換の対象になっているから問題が生じているらしい。UTF−16をしっかりそのまま受ければ問題は解決しそうだ。
ただ、URLスキームから受け取ったパラメータをそのまま吐き出しても、その段階で既に誤変換が済んでしまっているので、僕の方ではなにか対策を打つことはできるのだろうか?URLスキームを吐き出すアプリの方で何か対策を打てばいいのかもしれないけれど、JavaScript でencodeURIComponet以外のエンコード方法を僕は知らない。
つんだ。
いつか解決できることに願いをこめつつ今日はこの辺で。
iPhoneでPythonが使えるPythonistaが何でもできてかなり神アプリに近い