タグ

unicodeに関するpaselaのブックマーク (28)

  • Go 言語と Unicode 正規化

    今回は少し目先を変えて「Unicode 正規化(normalization)」のお話。 2羽の「ペンギン」 まず「ペンギン」という文字列を思い浮かべてみる。 この文字列を Unicode のコードポイントで表すと以下のようになる。 ペ:U+30DA ン:U+30F3 ギ:U+30AE ン:U+30F3 ところでペンギンの「ペ」と「ギ」は半濁点および濁点を含む。 Unicode は「ペ」と「ギ」をそれぞれ2つの要素に分解できる。 ペ:U+30D8 + U+309A ン:U+30F3 ギ:U+30AD + U+3099 ン:U+30F3 U+309A および U+3099 はそれぞれ半濁点と濁点を表す「結合文字(combining character)」である。 「ヘ」や「キ」のような「基底文字(base character)」に結合文字を1つ以上1 付加した文字を「合成列(composite

    Go 言語と Unicode 正規化
  • JISから迫る文字コード入門

    第16回 渋谷Javaでの発表資料です。

    JISから迫る文字コード入門
  • HFS+のテキストエンコーディング – ものかの

    HFS+はファイルやフォルダなどのアイテム名をどのテキストエンコーディングで扱っているのでしょうか? Appleは最近までこの情報をドキュメントに記載して公開していたのですが、今はしていません(2016年10月現在)。それでも第三者によるアーカイブがかろうじて残っており、典拠として貴重なのでここに記録しておきます。 2009年時点のFile Systems and Unicode Support 追記:いつのまにかリンク切れしていました。キャプチャを貼っておいてよかった…。 見ての通りUTF-16ですね。インターネット上ではUTF-8-MACであるとの説明が散見されますが間違いです。 HFS+のUnicode正規化形式 Unicode正規化形式はUAX#15で4種類が正式に決められています。HFS+はそのうちのNFDをさらにAppleが改変した特殊な正規化形式を実装しています。アイテム名は

    HFS+のテキストエンコーディング – ものかの
  • Unicodeにあるハイフン/マイナス/長音符/波線/チルダのコレクション | hydroculのメモ

    Unicodeにあるハイフン/マイナス/長音符/波線/チルダのコレクション 2015/06/18 Unicodeにある文字の中からハイフンのような横棒と波線を集めてみました。複数あるのはわかっていたつもりでしたが、こんなにたくさんあるとは思いませんでした。 横線に関しては、ハイフンや長音符(カタカナの長音記号)、罫線など、線が横に延びているものです。縦方向や斜めの線は除きます。ほとんど横線だけどほんのちょっとだけ斜め(主観)になっているものは含みます。点線や矢印、線が2つ以上に分かれているものは除きます。途中で曲がっているものも除きます。横線が上の方だったり下の方だったり、太さが途中で変わるものも含めています。 波線に関しては、横方向の線が、直線ではなくS字カーブになっているもので、縦や斜めのS字を除きます。 S字カーブを超えて複雑な曲線も除いています。ただ、文字の名前に “wave” と

  • MySQL と Unicode Collation Algorithm (UCA) - かみぽわーる

    utf8_unicode_ci に対する日の開発者の見解 - かみぽわーる で、日語が分かる人には utf8_unicode_ci のヤバさを感じてもらえたと思うんですけど、この挙動はドキュメントによると UCA というアルゴリズムによるものらしい。 MySQL implements the xxx_unicode_ci collations according to the Unicode Collation Algorithm (UCA) described at http://www.unicode.org/reports/tr10/. The collation uses the version-4.0.0 UCA weight keys: http://www.unicode.org/Public/UCA/4.0.0/allkeys-4.0.0.txt. Currently,

    MySQL と Unicode Collation Algorithm (UCA) - かみぽわーる
  • utf8_unicode_ci に対する日本の開発者の見解 - かみぽわーる

    RailsMySQLのcollationをサーバー側のデフォルトのutf8_general_ciからutf8_unicode_ciにわざわざ変えてるのどうせ大した理由じゃないだろと思って掘ってみたらやっぱり大した理由じゃなかった… https://t.co/6NeetGhTF0— Ryuta Kamizono (@kamipo) April 18, 2014 Railsでcollationとしてutf8_unicode_ci(RailsのDEFAULT_COLLATION)が採用されるのはcharsetが未指定もしくはutf8(RailsのDEFAULT_CHARSET)のときだけで、utf8mb4にすることとかは全く考慮されてない。— Ryuta Kamizono (@kamipo) April 19, 2014 @frsyuki MySQLのcharset utf8のときのデフォルト

    utf8_unicode_ci に対する日本の開発者の見解 - かみぽわーる
  • これからの絵文字の実装指針、UTR #51“Unicode Emoji”とはなにか 

    これからの絵文字の実装指針、UTR #51“Unicode Emoji”とはなにか 
  • Unicode正規化

    正しい並び替えでは、表示は(A)のままですが、間違った並び替えでは、正規結合クラスが互いに等しいMACRONとACUTEを並び替えたため、表示は(B)のように、eの上のアクセント記号の位置が入れ替わってしまいます。 正規分解・互換分解 ある文字列の正規分解 (Canonical Decomposition) を得るには、まず、それぞれの文字を正規マッピングによって再帰的に、可能な限り、分解します。すなわち、1回分解した後に現れた文字がなおも分解可能であればさらに分解します。分解マッピングがその文字自身である場合は、分解不可能なので、そのままです。 しかし、分解しただけでは必ずしも正しい結果が得られません。つまり、結合文字の順序の一意性を保証するため、分解後の文字列に対して正規順序アルゴリズムを適用しなければなりません。このように、正規マッピングによる再帰的分解と、正規順序アルゴリズムによる

    Unicode正規化
  • UnicodeのU+0020とU+00A0( )は別物である|mattintosh note (跡地)

    ​ Unicodeにはスペースが複数ありますが、その中でもU+0020とU+00A0の違いについてです。 HTMLでもよく使われる はU+00A0の方です。両者の違いは見ていただいた方がわかりやすいでしょう。 キーボード全角スペース a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a キーボード半角スペース a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a a U+0020 (SPACE) a a a a a a

  • [連載:正規表現] Unicode文字プロパティについて(2) -- Pの一族|TechRacho by BPS株式会社

    [連載1回目へ] こんにちは、hachi8833です。まだbyobu-configが自分の環境で動いてくれないので、ctrl-aだけ殺してデフォルトキーバインドでbyobuを使い始めているところです。 先週に引き続いて正規表現のUnicode文字プロパティについて調べていきます。改めて調べ始めてみるといろいろと奥深い世界であることに気付き、一人で勝手に盛り上がってます。 早速はてブでツッコミをいただきました。初回連載で[\p{Ideographic}]の記述がいきなり間違っていました。失礼いたしました。Ideographicは日中韓ベトナム(CJKVと略されます)のみが対象となります。前回分も修正いたしました。 Pの一族 正規表現向けのUnicode文字プロパティの解説として、日語で読めるそこそこまとまった資料は、今のところマイクロソフトの .NET Frameworkの「正規表現での文

  • Encode::UTF8Mac - トミールの技術系日記

    探したのだけど作っている人がいなかったので、いわゆるutf-8-macと呼ばれるエンコーディングを追加するEncode::Encodingをつくりました。 https://github.com/tomi-ru/Encode-UTF8Mac use Encode; use Encode::UTF8Mac; print Encode::encode('utf-8-mac', '蘄藭づけ'); use Path::Class; for my $entry (dir(".")->children) { my $filename = Encode::decode('utf-8-mac', $entry); } 反応みてPODちゃんと書いたらUPしようと思っている →POD書いた. PODの方が少し整理されているのでわかりやすいかもしれない。 https://github.com/tomi-ru/En

    Encode::UTF8Mac - トミールの技術系日記
  • 漢字1文字が最大8バイト、Unicodeの「IVS」とは?

    「漢字1文字は2バイト」という常識が、大きく変わろうとしている。現在改正中の「常用漢字表」に対応するためには、Unicodeの4バイト文字を使用する必要があるが、それだけでは済まない恐れがある。今後、戸籍や住民基台帳で使われている文字がUnicodeに追加されると、漢字1文字が最大8バイトになるかもしれない。文字コードに詳しい京都大学人文科学研究所附属東アジア人文情報学研究センターの安岡孝一准教授が、問題の核心を解説する。(日経コンピュータ) 先日公開した『新常用漢字表が迫るUnicode移行、「シフトJIS」では対応不可能』の読者から、「今後のシステムでは漢字1文字を最大4バイトで処理すればいいのか」という質問を頂いた。実は、UTF-8あるいはUTF-16で漢字を表す場合、最新のUnicodeにおけるIVS(Ideographic Variation Sequence)を考慮すると、漢

    漢字1文字が最大8バイト、Unicodeの「IVS」とは?
  • nicowiki.com

  • Perl5.8 の UNICODE 対応

    perl は 5.8 から Unicode(utf-8) がサポートされました.5.6 でも Unicode に対応はしていましたが,ぜんぜん使い物にならず,ようやく 5.8 でまともに使えるようになったということです.ただせっかく使えるにもかか わらず perldoc などを見てもイマイチ使い方がわからないので,独自にまと めてみたのがこのページです. 誤った書き方や勘違いをしてい ることもあるので,形式的ですがこのページの内容は無保証です. 内容 文字コード変換 perlIO jperlからの移行 UTF-8フラグ 文字コード自動判別 Unicode Standard Unicode 正規化 その他 参考資料 文字コード変換 とりあえず perl5.8 で新しく組み込まれた機能を見るために,euc-jp から shift_jis への変換スクリプトをいくつか載せます. openを利用し

  • WindowsでPerlを使うもんじゃない

     WindowsPerl 5.8/5.10を使うモンじゃない 2008.01.17 3008.02.13改版  長い間に,私はPerlを使うときに次のようなテンプレートを使うようになっていた。 #!perl # utf8でセーブ # --------------------------------------------------- # @ARGV = map { decode('cp932',$_) } @ARGV ; # --------------------------------------------------- # opendir(D,encode('cp932',"表")) ; # @nodes = map { decode('cp932',$_) } readdir(D) ; # closedir(D) ; # -----

  • Unicode(東アジア) - CyberLibrarian

    Unicodeの字種の表です。 下表のリンク先のページに、十六進数の数値文字参照で記述した文字コード表を掲載しています。文字コード表中の各文字は、ユニコード・コンソーシアムが提供しているUnihanデータベースの該当文字へリンクしてあります。文字コード表中の文字は、環境によっては正しく表示されない場合がありますが、各ページからリンクしているPDFでは正しく表示されます。 字源的には同じだが字形の異なる中国語、日語、朝鮮語、ベトナム語の漢字に同じコードを与えて統合した漢字です。 CJK統合漢字、拡張Aと拡張Bには、JIS X 0213の漢字が含まれています。 拡張Bには、多数の重複字の存在が指摘されています。 拡張Fには、文字情報基盤整備事業が提案した漢字(1,645字)、大蔵経テキストデータベース研究会が提案した漢字(2,884字)も含まれています。 拡張Gには、大蔵経テキストデータベー

  • perl - Encode 中級 : 404 Blog Not Found

    2008年05月08日04:00 カテゴリLightweight Languages perl - Encode 中級 以前書いた 404 Blog Not Found:perl - Encode 入門 は大好評でしたが、 ウェブで利用される文字コード、UnicodeがASCIIを上回る--グーグルが明らかに:マーケティング - CNET Japan UnicodeがASCIIを追い越し、World Wide Web上で最も多く利用されている文字コード体系になったとGoogleのシニアインターナショナルソフトウェアアーキテクトMark Davis氏がブログで述べている。 という時代に完全対応するには、入門以上の知識がちょっと必要になります。 例えば、blogをホストしてくれているlivedoor blogの文字コードはEUC-JP。「時代はUnicode」だと言っても、こうした事情もまだ

    perl - Encode 中級 : 404 Blog Not Found
  • perl - で全角半角変換をモダンに行う : 404 Blog Not Found

    2009年06月06日01:15 カテゴリLightweight Languages perl - で全角半角変換をモダンに行う 今ならLingua::JA::Regular::Unicodeが第一選択肢ですが、こういう方法もあるということで。 Perl で半角カナと全角カナの変換をする : Serendip - Webデザイン・プログラミング Perl を使って半角カタカナと全角カタカナの変換をするスクリプトを、標準モジュールの Encode.pm と Unicode::Japanese と Lingua::JA::Regular::Unicode を使ってそれぞれ変換スクリプトを書いてみる。 CORE Moduleのみを使うという縛りをかけています。 #!/usr/bin/perl use 5.008001; use strict; use warnings; use utf8; us

    perl - で全角半角変換をモダンに行う : 404 Blog Not Found
  • 第4回 UTF-8の冗長なエンコード | gihyo.jp

    今回は、文字コードに関連するセキュリティの話題では古参ともいえるUTF-8の冗長なエンコードというテーマについて紹介します。 UTF-8とは UTF-8は、各文字を1~4バイトの可変長で表現するUnicodeの符号化方式のひとつです。 U+0000からU+007Fの範囲の文字を0x00から0x7Fの1バイトで表現しているため、US-ASCIIと互換性がある、バイト列の途中からでも文字の先頭バイトを簡単に検出できる、多バイト文字の途中に0x00や0x5C(\⁠)⁠、0x2F(/)などが現れない、などの特徴があります。 UTF-8での文字のビットパターンは表1のようになります。 表1 UTF-8でのビットパターン

    第4回 UTF-8の冗長なエンコード | gihyo.jp
  • 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