タグ

Unicodeに関するquanonのブックマーク (8)

  • Unicode正規化 用語の混乱について 第4.2版 – ものかの

    初版 2010/4/5 第2版 2013/5/10 誤解を修正。全面的に書き直し。 第3版 2014/7/13 なるべく分かりやすく全面的に書き直し。 第4版 2015/5/20 さらに分かりやすく全面的に書き直し。 第4.1版 2015/5/27 まだ分かりにくいと不評なので書き直し。 第4.2版 2015/5/27 さらに分かりやすく調整。 Unicode正規化の考え方自体はとてもシンプルです。でも、よく知ろうとしていろいろ調べると、用語がハイコンテキストすぎて、混乱してワケがわからなくなります。日で一般的に見られる用語を図にしてみましょう。 混乱するのはどこだと思いますか? “合成済み文字” と “合成文字” の2か所です。どちらも言葉として同じ意味です。それなのに、異なった状態を表す用語として無理矢理に使い分けようとしています。ここから、以下のような奇妙な文章ができあがります。

    Unicode正規化 用語の混乱について 第4.2版 – ものかの
    quanon
    quanon 2019/01/17
    目からうろこ!
  • Unicode spaces

    This document lists the various space characters in Unicode. For a description, consult chapter 6 Writing Systems and Punctuation and block description General Punctuation in the Unicode standard. This document also lists three characters that have no width and can thus be described as no-width spaces. The third column of the following table shows the appearance of the space character, in the sens

    quanon
    quanon 2018/02/26
    イケてるヤツは s p a c e を使いこなす!
  • 第1回: Unicode から Shift_JIS への変換(その1) - 葉っぱ日記

    Windows 上で Unicode を扱う場合に発生するセキュリティ上の問題点などについて不定期に書いていくことにします。以前の内容と重なる部分も多いですし、時間的にもどこまで書けるかわかりませんけれど…。 さて第1回目は、 Windows 上で Unicode を扱う際のもっとも基とも言える WideCharToMultiByte を使用した Unicode から Shift_JIS (コードページ932)への変換についてです。 WideCharToMultiByte を使用する際に発生しやすい問題点は以下の2点です。 バッファサイズの指定ミスによるバッファオーバーフロー Unicode から Shift_JIS への変換における多対一のマッピング バッファサイズの指定ミスによるバッファオーバーフロー 変換前の Unicode の文字列は「文字数」で指定するのに対し(cchWideC

    第1回: Unicode から Shift_JIS への変換(その1) - 葉っぱ日記
  • 文字コード考え方から理解するUnicodeとUTF-8の違い | ギークを目指して

    UnicodeとUTF-8の違いを理解していない方が結構居るようなので、文字コードの考え方を元に解説してみようと思う。 文字コードとは何か? 文字コードとは、コンピュータ上で文字を扱うために、文字に対して割り当てられた数値のことであり、文字と数値の対応付けと呼べる。 この対応付けの種類は沢山あって、Shift-JISであったり、UTF-8であったりする。 以上!と言いたいけど、文字コードはこんなに単純ではない。文字コードを複雑にする要素は沢山あるが、今回の記事ではUnicodeとUTF-8の違いに焦点を絞って解説してみたいと思う。 文字コードの構成要素 文字コードの世界は以下の2つの要素で構成されている。 この違いを意識しておかないと混乱を招くだろう。 (1).文字集合 – 表現したい文字の範囲(”あ”、”い”・・・といった文字の集合体) (2).符号化方式 – 文字集合を構成する個々の文

    文字コード考え方から理解するUnicodeとUTF-8の違い | ギークを目指して
  • Unicode正規化

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

    Unicode正規化
  • Normalizing Unicode

  • The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)

    I’m Joel Spolsky, a software developer in New York City. More about me. Read the archives in dead-tree format! Many of these articles have been collected into four books, available at your favorite bookstore. It’s an excellent way to read the site in the bath, or throw it at your boss. Ready to level up? Stack Overflow Jobs is the job site that puts the needs of developers first. Whether you want

    The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)
  • Unicode Normalization in Ruby

    If you want Ruby's string methods to play nicely with Unicode, it's a good idea to normalize them. This article is a brief introduction to Unicode normalization for Rubyists. I recently published an article in which I tested most of Ruby's string methods with certain Unicode characters to see if they would behave unexpectedly. Many of them did. One criticism that a few people had of the article wa

    Unicode Normalization in Ruby
  • 1