文字コード

Shift_JISと死の文字化け

はじめに この授業は闇の魔術に対する防衛術の21時限目です。 昨日の授業は@aimof先生でした。 Windowsが覇権を握る現代社会では、たとえLinuxやmacOSユーザでもShift_JISに関わらずに生きることは非常に困難です。*1 さらに他の文字コードと異なりWindowsで…

Sublime TextでもWindows-1252でテキストファイルを開きたい

はじめに この前たまたま見つけたSublime Textの仕様?バグ?についてです。 BOMとWindows-1252 結論を述べますと Windows-1252でエンコードされているテキストの先頭に『』を置くと、その後にどんな文字が来ようとUTF-8として認識する。 さらに、メニュ…

VB.NETでもAsc関数で文字コードを取得したい

はじめに Visual Studioのインテリセンスを眺めているとAscやAscWといった関数を目にします。 説明文をざっと見る限り文字に対応する文字コードを返すとあるのですが、 文字コードとは一体どのコード体系を指してるのか AscとAscWは何が違うのか 当該コード…

VB.NETでも独自のエンコーディングを実装したい(後編)

はじめい 前回こんな事をしました。 jyuch.hatenablog.com 今回は以下の感じでいい感じにアレをアレします。 フォールバックは例外フォールバックのみ 必要最小限しか実装しない 実装 実装の流れは前の記事でも書いた通り Encoderの実装 Decoderの実装 Encod…

VB.NETでも置換フォールバックで無限ループしたい

はじめに 意味不明なタイトルで大変恐縮ですが、要するに置換フォールバックって指定したエンコードスキームでエンコできない文字に当たった時に大体の文字を指定するフォールバック戦略でしたよね。 それだったら置換先にそのエンコードスキームでエンコで…

VB.NETでも独自のエンコーディングを実装したい(前編)

はじめに 少し前にPythonで独自の文字コードを実装しました。 jyuch.hatenablog.com あれを今回はVB.NETでやるというという誰も望まないし誰も得しない企画です。 符号化文字集合及び文字符号化方式はPython版から流用します。 ドキュメントは大切に System.…

Pythonでもオレオレ文字コードを実装したい (4)

使い方 さて、前回はコーデックを実装した状態で終わりましたので今回は実際に使ってみたいと思います。 import jyuch_kana import codecs def main(): fin = codecs.open('text.txt', encoding='jyuch-kana') fout = codecs.open('text2.txt', 'w', encodin…

Pythonでもオレオレ文字コードを実装したい (3)

実装の流れ 自作エンコードをPythonで扱うための実装の手順は以下の感じっぽいです。 7.2. codecs — codec レジストリと基底クラス — Python 3.3.6 ドキュメント エンコーダ・デコーダの実装 エンコーダ・デコーダとcodecsモジュールに含まれているStreamWri…

Pythonでもオレオレ文字コードを実装したい (2)

符号化文字集合と文字符号化方式 符号化文字集合を定義する前に符号化文字集合と文字符号化方式について簡単に触れます。 符号化文字集合 コンピュータで扱う文字を取りまとめ、各文字に一意な符号を割り当てたものです。 ここで注意すべき点は、文字とは特…

Pythonでもオレオレ文字コードを実装したい (1)

やりたいこと 最近の弊社は符号化文字集合や文字符号化方式にとても興味があります。 と言うのも、今まではJavaやC#などの言語がメインでテキストファイルのエンコードスキームなどはそこまで気にしなくても動いていたのですが、Pythonで日本語を扱うように…

IronPythonとShift_JIS

鉄のヘビさん オレオレツールを作った際にCPythonとIronPythonの違いに詰まった時のお話です。 弊社はなんちゃってマカーなので、自宅ではMacを使用しています。 同じPython2.7系だし、基本的に同じコードでMac OS 10.10 + CPython 2.7.6とWindows 8.1 + Iro…