タグ

Unicodeに関するnipotanのブックマーク (27)

  • Data::Recursive::Encode を書いた話 - tokuhirom's blog

    Data::Recursive::Encode を書いた話 Data::Visitor::Encode というモジュールがあって、複雑なデータ構造の中にはいっているデータを操作するには大変便利です。 私は mobirc という IRC2HTTP gateway を開発しているのですが、こちらはユーザの環境にインストールしてつかっていただくソフトウェアであるという関係上、XS に依存したくありません。 しかし、やたらと依存モジュールが多く、得に XS が必須であり、かつまたメモリを大く消費してしまうのが難点です。また、ソースコードが複雑で、なにかあったときに読む気がしないというのも難点です。これらの欠点は、質的には Data::Visitor の問題点であって、Data::Visitor::Encode の問題ではないのですが、依存している以上、どうしようもないことです。また、Data::

    nipotan
    nipotan 2010/01/20
    そういえば、U::RD いじってて気付いたんだけど、最近リファレンスのリファレンス \\$data みたいなのは UNIVERSAL::isa() で REF ってなるね。
  • tips - 十まで数える二千百一の方法 : 404 Blog Not Found

    2009年05月01日18:15 カテゴリTips tips - 十まで数える二千百一の方法 絶望した!誰も「笑」ってないことに絶望した! 斬新な数の数え方を考えた。 - NaokiTakahashiの日記 よく「正」って字を書いて数を数えるでしょ。一画ずつかいて、ひとつで5。 あれを「殺」って字にしたら一文字で10数えられるんじゃないかとさっき思いついた。十画だから。で、十数えた、じゃなかった笑った後に、気になったわけです。十画の字ってどれだけあるだろうか、と。 こんなにありました。 㑣㑥㑦㑧㑨㑩㑪㑫㑬㑭㒭㓐㓑㓒㓬㓭㓮㓯㓰㔝㔞㔟㕋㕌㕍㕖㖏㖐㖑㖒㖓㖔㖕㖖㖗㖘㖙㖚㖛㖜 㖝㖞㘣㘿㙀㙁㙂㙃㙄㙅㙆㛍㛎㛏㛐㛑㛒㛓㛔㛕㛖㛗㛘㛙㛚㛛㛜㛝㛞㛟㛡㛢㛣㛤㝂㝃㝗㝘㝙㝚 㝶㝸㞂㞗㟇㟈㟉㟊㟋㟌㟍㟎㟏㟐㟑㟒㟓㟔㟕㟖㠫㠬㡇㡈㢃㢄㢅㢆㢇㢸㢹㣢㣣㤟㤠㤣㤩㤪㤫㤯 㤱㤳㤴㤶㤷㤸㤹㤼㤽㦴㦵㦶㧬㧭㧱㧲㧴㧵㧶㧷㧸㩻㩼㪇㪈㪉㪰㪶㪾㪿㫅

    tips - 十まで数える二千百一の方法 : 404 Blog Not Found
    nipotan
    nipotan 2009/05/01
    なんで「殺」が 11 strokes になるのかが謎い
  • デバッグより重要なもの : 404 Blog Not Found

    2009年04月02日16:00 カテゴリCodeArt デバッグより重要なもの この話題、すっかり乗り遅れてしまった。 2009-03-22 - 未来のいつか/hyoshiokの日記 プログラミング入門書では、デバッグについて、ほとんど議論されていないし、仮にふれられていても、おざなりな方法というか、かなり邪険にあつかわれていたりする。プログラマの多くの時間がデバッグについやされていたとしてもだ。 あえていわせていただく。コードはデバッグできるだけはるかにましなのだ、と。printfを使うかどうかなんぞ、その問題と比べれば屁ですらないのだと。 デバッグよりもはるかに重要なもの、それはデータ構造の選定。 ここで一歩間違えると、バグが仕様化し、デバッグどころかバグにあわせてプログラムを書かねばならぬ羽目になる。 その最も顕著な例が、Unicodeだろう。最初の設計を間違えたおかげで、最新のソ

    デバッグより重要なもの : 404 Blog Not Found
    nipotan
    nipotan 2009/04/02
    printf debug については言及されておらず unicode のデータ構造を dis っている。
  • 図解: Perl と Unicode 文字列 - daily dayflower

    id:tomi-ru さんが [http://e8y.net/mag/015-encode/:title] というとてもプラクティカルな [http://search.cpan.org/perldoc?Encode:title=Encode] 入門をお書きになったので,わたしも違う切り口で書いてみたくなりました。 いちおうの基礎(読み飛ばし可) 文字セット, キャラクタセット, 文字集合, 文字集合 - Wikipedia エンコーディング, 符号化方式, 文字符号化方式 - Wikipedia この2つは異なります。とくに知らなくても下記の文書を読むことはできますが,理解しているとためになります。くわしく知りたい人は自習してください。 文字セットの例 Unicode JIS X 0208 ひらがなとかカタカナとか漢字とか ASCII 文字 エンコーディングの例 UTF-8 ISO-202

    図解: Perl と Unicode 文字列 - daily dayflower
  • Perl (5.8) での文字列の内部表象について返信 - daily dayflower

    UTF8 フラグあれこれ - daily dayflower について nobuoka さんよりツッコミをいただきました。 nobuoka 2008/03/11 21:15 こんにちは。”[Perl] Perl の Unicode 対応について” のエントリでトラックバックさせて頂きました nobuoka です。 内部表象 (内部形式: internal format) について気になる点があったのでいろいろ調べていたのですが、「内部形式は UTF-8 ではなく Unicode コードポイントをバイナリ化したものである」という結論に達しました。たとえば「é」という文字は内部形式では ¥xE9 というバイナリデータとして保持されているという結論に達しました。それは utf8 フラグが付いていても付いていなくても同様です。 つまり、このエントリで述べられている (A) 文字列(内部表象: UT

    Perl (5.8) での文字列の内部表象について返信 - daily dayflower
  • https://juerd.nl/files/slides/2008dpw/unibp/index.html

  • javascript - \uXXXXを使わない理由 : 404 Blog Not Found

    2008年01月14日14:30 カテゴリLightweight Languages javascript - \uXXXXを使わない理由 そんなことは、ない。 JavaScriptには\uXXXXがあるんですよ[文系大学的IT系の悲哀] dankogaiさんはあまりJavaScriptのリテラルに詳しくないのかな? \uXXXXを使わないのは、訳がある。 理由は、こちら。 404 Blog Not Found:javascript - encodeURIUnicode()と%uXXXX問題 ただし、この「ほぼ」という奴がくせ者で、現状JavaScriptでは、BMPより上の文字はJavaと同じくSurrogate Pairで表現する。例えば「𪚲」(U+2A6B2)は、実体参照では𪚲なのだが、"𪚲".lengthは2であり、escape表現だと%uD869%uDEB2となる。 これが

    javascript - \uXXXXを使わない理由 : 404 Blog Not Found
    nipotan
    nipotan 2008/01/15
    BMP 超えられない的な言語仕様の話。
  • 携帯絵文字のSJIS拡張とUnicode PRIVATE AREA変換ルールはcp932と基本的に同じ - Bulknews::Subtech - subtech

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    携帯絵文字のSJIS拡張とUnicode PRIVATE AREA変換ルールはcp932と基本的に同じ - Bulknews::Subtech - subtech
  • Unicode::RecursiveUpgrade - 酒日記 はてな支店

    ネストしたリファレンス内の文字列 (utf8, not flagged) を一括で utf8 flagged にしたかった。 Unicode::RecursiveDowngrade を使えば出来るのだけど、upgrade するのに名前が downgrade ってなんか嫌だったのでついカッとなって作った。 package Unicode::RecursiveUpgrade; use base qw/ Unicode::RecursiveDowngrade /; use Encode; sub new { my $class = shift; my $self = $class->SUPER::new(@_); $self->filter( \&Encode::decode_utf8 ); $self; } sub upgrade { shift->downgrade(@_); } 1; CP

    Unicode::RecursiveUpgrade - 酒日記 はてな支店
    nipotan
    nipotan 2007/08/13
    すいません。当初の目的が downgrade だったもので。。
  • EUC-UTF8の可能性 : 404 Blog Not Found

    2007年03月18日06:00 カテゴリCodeLightweight Languages EUC-UTF8の可能性 404 Blog Not Found:シフトJISを残すべきか?のコメント欄の、UTFCPのLightConeさんとMatzさんの会話をぼ〜っと眺めているうちに、ひらめきました。 EUCとUTF-8って、マッシュアップできなくね? 鍵は\xFFにあります。このバイト、EUCにもUTF-8にも絶対あらわれないのです。 さすれば、あとはこう定義するだけです。 EUC-UTF8-CHAR = EUC-CHAR | \xFF + UTF-8-CHAR LightConeさん曰く、 UTFCP2の特徴として,日中国の漢字の主要部分が二バイトで現せる 特徴もありますが.他に, 後ろのバイトから正確に一文字づつ逆戻りできるという事があるのを知ってますか. 正確に逆戻り出来るのは,プ

    EUC-UTF8の可能性 : 404 Blog Not Found
  • Unicode と UTF-X - odz buffer

    えーと、なにやら某所から Unicode について解説しろとの圧力がかかったので軽く書いておく。 Unicode はなにかというと What is Unicode? にこう書いてある。 Unicode provides a unique number for every character, no matter what the platform, no matter what the program, no matter what the language. つまり、Unicode は文字に対応する数字を定めるだけ。で、この対応する数字をコードポイントと呼ぶ。 たとえば、「odz@はてな」という文字列を Python を使って Unicode のコードポイントにしてみるとこうなる。 >>> print ' '.join('U+%04X' % ord(c) for c in u'odz@は

    Unicode と UTF-X - odz buffer
  • Unicode に関する誤解の誤解 - odz buffer

    ref:Open ブログ: ◆ シフトJIS と unicode via:Matzにっき(2007-03-12) 初めにお断りしておくが、項は、誰かを批判することが目的ではない。素人にありがちな誤解を正すことにある。 上記のサイトで、素人が間違いを犯しているからといって、素人を批判するつもりは毛頭ない。素人が専門知識をもたないのは当然だからだ。私としては、批判するためというよりは、読者が他山の石として眺めるために、上記のサイトを見ることをお勧めする。 Encode.pm の maintainer である dankogai 氏を素人呼ばわりするのもなかなか勇気があると思うが、じゃ、そういう人の誤解を正しておこうか。 一方、 unicode には問題が山積みだ。だいたい、素人は unicode という言葉を使っているが、 unicode というものは一種類しかないわけではない。UTF-8

    Unicode に関する誤解の誤解 - odz buffer
  • Unicodeエスケープ - sawatのブログ

    付箋紙Greasemonkeyで、GM_setValueに登録した日語の文字化け対策にencodeURIをつかったけど、encodeURIはURIをエンコードするための関数なのであんまり褒められた使い方ではないですね。しかも、encodeURIのようなURLエンコーディングは文字列をUTF-8にしてから、エンコード対象の各バイトを%xx形式*1で表現するので、日語1文字をあらわすのにたいていの場合ASCII9文字が必要になって効率が悪いです。*2 なので、前述のような単に非ASCII文字をエスケープしたいだけのようなケースではUnicodeエスケープを使った方がよいです。Javaのpropertiesとかnative2asciiとかのやつです。 Unicodeエスケープは\uxxxx*3の形式であらわすので、たいていの日語1文字はASCII6文字になって、URLエンコーディングに比べ

    Unicodeエスケープ - sawatのブログ
  • regexp - yet another fix for dodgy UTF-8 : 404 Blog Not Found

    2007年02月14日21:30 カテゴリLightweight Languages regexp - yet another fix for dodgy UTF-8 他の言語にも移植しやすいようにrefactorしてみました。 subtech - Bulknews::Subtech - Fix dodgy utf-8 bytes すでに utf-8 なバイト列を latin-1 と解釈して utf-8 に二重エンコードすることで起きる文字化け(を表現する短い言葉ってないのかな)を直すコード。sub fix_utf8 { my $bytes = shift; utf8::encode($bytes) if utf8::is_utf8($bytes); $bytes =~ s{ ([\xC2\xC3])([\x80-\xBF]) }{ chr( (ord($1) << 6 & 0xff) |

    regexp - yet another fix for dodgy UTF-8 : 404 Blog Not Found
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • subtech - Bulknews::Subtech - Fix dodgy utf-8 bytes

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    subtech - Bulknews::Subtech - Fix dodgy utf-8 bytes
  • Unihan data for U+0058 がヒワイすぎる件 - (ひ)メモ

    たまたま、ほんとにたまたま、 http://www.unicode.org/cgi-bin/GetUnihanData.pl?codepoint=0058 をみたら、Japanese Compoundsのセクションにあんな言葉やこんな言葉がチン列してあって赤面しちゃったお!>< ほんで、ここのページのグリフの画像って勝手に使っていいのかしらん。

    Unihan data for U+0058 がヒワイすぎる件 - (ひ)メモ
    nipotan
    nipotan 2007/08/13
    ヒドスw
  • Unicodeは文字集合か符号化方式か : 404 Blog Not Found

    2006年11月24日12:30 カテゴリLightweight Languages Unicodeは文字集合か符号化方式か 以下は、電脳で文字を扱う場合の基礎中の基礎なのだが、肝心の記事に重大な誤りがいくつもある。 文字コード規格の基礎:ITpro そろそろ具体的な説明に入ろう。最初にはっきりさせておく必要があるのは次の点だ。一般に「文字コード」と言う場合, 文字の集合 エンコード方法 という要素がある。この二つを区別して考えることが重要だ。もちろん大きな関連はあるのだが,ごちゃごちゃのままでは「わからなく」なる大きな要因となる。ここだ。 これによると、Unicodeは明らかに「エンコード方法」であるが、これは間違い。ここで書かれているものはUCS-2という名前のUnicodeが定めるいくつかの「エンコード方法」の一つであり、しかもUTF-16によって陳腐化した方式である。 まずUnic

    Unicodeは文字集合か符号化方式か : 404 Blog Not Found
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
    nipotan
    nipotan 2007/08/13
    Unicode::RecursiveDowngrade はそもそもの開発時点の視点が狭かったかもです…