タグ

関連タグで絞り込む (2)

タグの絞り込みを解除

文字コードに関するbird_dip_jpのブックマーク (4)

  • Shift-JISテキストを正しく扱う perl 日本語パターンマッチ正規表現 の問題と落とし穴

    最近の更新履歴 2006-10-28: 「Shift-JISの漢字を含むファイル名/パス名」について若干追記。 2005-03-26: 「最初に」中、XML日語プロファイル第2版に基づき、若干追記。 2005-03-09: 「最初に」中、文章を若干修正。 2003-06-24: Shift-JISの漢字を含むファイル名/パス名 2003-05-31: 「最初に」中、「シフトJIS」などの表記について。 2003-05-24: CP932重複定義文字の変換 2002-08-30: Perl 5.8.0 について。 2002-01-17: 長い文字列に対する正規表現検索 2001-12-15: ShiftJIS::Collate が overrideCJK パラメータを廃止したことに伴う 日語文字列を並び替えるの書き換え。 最初に 日語の文字コードにはいくつかのものが使われています。ある

  • Perl で半角カナと全角カナの変換をする : Serendip – Webデザイン・プログラミング

    Perl を使って半角カタカナと全角カタカナの変換をするスクリプトを、標準モジュールの Encode.pm と Unicode::Japanese と Lingua::JA::Regular::Unicode を使ってそれぞれ変換スクリプトを書いてみる。 まずは、標準モジュールの Encode.pm を使った場合。 変換を文字コード euc-jp で行うために、変換前と変換後に utf-8 との文字コード変換を行う必要があった。 use Encode; use Encode::JP::H2Z; my $str_z = "Hello World.全角カタカナデス。 12345 67890"; my $str_h = "Hello World.全角カタカナデス。 12345 67890"; # 全角カナ→半角カナ Encode::from_to($str_z, "utf-8", "euc-j

  • Perl の多言語処理 -- Perl ヒント集 (ja)

    エンコードの処理の基 Perl 5.8 以降,テキストの処理が UTF-8 (Unicode の変換形式のひとつ) を軸におこなわれるようになりました。Shift JIS や EUC-JP での処理が一般的な日語を Perl で扱う場合,エンコードを意識したプログラミングをおこなうことが必要になります。具体的には,Perl でエンコードを意識する必要のあるのは以下の箇所です。 スクリプト自体のエンコード ファイルの入出力 標準入出力 標準エラー出力 データベース,CGIなどプロセス間のインターフェース Perl 5.8 では内部処理が UTF-8 で行われますが,特にエンコードの指定がされない場合,テキストは文字単位ではなく,バイト単位で処理されます。バイト単位で Shift JIS などのテキストを処理することもある程度可能ですが,2バイトの文字が文字として認識されていませんから,正

  • 第33回 enc2xs:標準の文字コード表にはない文字を変換する | gihyo.jp

    Encodeを使っても文字化けするとき Encodeは特定のエンコーディングにしたがって配列されたバイナリを「文字列」に置き換えるためのモジュールですが、かならずしもすべてのエンコーディングがあらゆるバイナリの組み合わせに対応しているわけではありません。 たとえば、「⁠シフトJIS」環境における機種依存文字の例としてよく取り上げられる丸付き数字をEncodeのお作法通りにdecode、encodeする場合、「⁠シフトJIS」だからと思って安易にshiftjis系列のエンコーディングでdecodeしてしまうと、丸付き数字のマッピングデータがないため「?@」のように文字化けを起こしてしまいます。 use strict; use warnings; use Encode; my $binary = pack('C*', 0x87, 0x40); # ①; my $string = decode(

    第33回 enc2xs:標準の文字コード表にはない文字を変換する | gihyo.jp
  • 1