タグ

utf-8に関するjp-mykのブックマーク (5)

  • 開発メモ: UTF-8とUCS-4の変換メモ

    UTF-8とUCS-4の相互変換をC/C++で書いた時のメモ。たぶんまた自分で読むので。 背景 文字のちょっとした正規化などの処理をしたいがiconvやICUなどの巨大なライブラリは使いたくないということがたまにある。嚴密な文字列処理をしたい場合にはそれらのライブラリを使った方が安全だし確実であることは言うまでもないが、ちょっとしたユーティリティを作るのにはちょっとオーバースペックである。 一方で、UTF-8文字列に対してはASCII用正規表現ライブラリを使えば検索や置換などの大抵の操作ができるので、自分でゴリゴリと変換処理を書かなければいけないことはあんまりない。 ただ、たまに自分で書きたくなることもある。ヨーロッパ系言語のアクセント記号を外したり、半角片仮名を全角片仮名にしたり、漢字の異体字表記を常用漢字に統一したりといった処理を一気にやりたい場合とか。そんな場合、各文字が可変長バイト

  • UTF-8で変換できない機種依存文字を置換する

    Summary UTF-8 のページから (株) や ローマ数字の I などの文字をメールで送信すると,文字化けする. 文字化けしそうな文字を,ad hoc に機種依存しない文字に変換する. ローマ数字もカッコで括るか,スペースを挿入したほうが良いかも. Source function replaceText($str){ $arr = array( /* --- 0x2100 - 0x2138 (文字種記号) --- */ // 0x2100 - 0x210F '\xE2\x84\x80' => 'a/c', '\xE2\x84\x81' => 'a/s', '\xE2\x84\x82' => 'C', '\xE2\x84\x83' => '?', '\xE2\x84\x84' => '?', '\xE2\x84\x85' => 'c/o', '\xE2\x84\x86' => 'c/u

  • Algorithm::Diff で類似文字列検索

    Algorithm::Diff で類似文字列検索 2008-04-22-3 [Algorithm][Programming] Perl のモジュール Algorithm::Diff[2004-12-12-2]を使って、線形時間で類似文字列検索するサンプルプログラム。 まあ、 agrep があればそれでいいんですけどね。 サンプルコード(ads.pl): #!/usr/bin/perl use strict; use warnings; use Algorithm::Diff; use utf8; use Encode; use open ':utf8'; binmode STDIN, ":utf8"; binmode STDOUT, ":utf8"; my $key = shift; my @seq1 = split(//, decode('utf-8', $key)); while (<

    Algorithm::Diff で類似文字列検索
  • 文字列を print すると「Wide character in print at」と出力されて困った - BigFatCatのブログ

    以下のプログラム(参考:作って学ぶ、今どきのWebサービス: 第2回 RSSフィードの料理はLWPとXML::RSSにおまかせ)を実行したら、「Wide character in print at」というメッセージが print を実行する度に出力されてしまった。 #!/usr/local/bin/perl # http://www.ibm.com/developerworks/jp/webservices/library/itm-ws2-rss/ use strict; use Encode; use LWP::Simple; use XML::RSS; my $url = shift; my $document = LWP::Simple::get($url) or die "cannot get content from $url"; my $rss = XML::RSS->new;

    文字列を print すると「Wide character in print at」と出力されて困った - BigFatCatのブログ
  • Perl 5.8.x Unicode関連

    -> 趣旨と注意書き -> UTF8フラグ? -> UTF8フラグとPerlIOレイヤ -> UTF8フラグのついた文字列を記述する -> Wide character in print ... -> Encode -> utf8::* -> use utf8; -> use encoding; -> use UTF8 と use encoding -> JcodeからEncodeへ -> 情報源 <- モドル 趣旨と注意書き Perl 5.8.x のUnicode 関連です。 正直、5.8.x は、ネタでしか使ってなかったので(ぉ、ちゃんといじったことがありませんでした。 使ってみると、よくわかんなくなったので、ちょっとまとめてみました。 今でもあんまりわかってないかもしれないので、内容は無保証です。 突っ込み歓迎。 Jcode、Encodeのメンテナの弾さんから、ご指摘いただいたので、

  • 1