タグ

unicodeに関するmiya2000のブックマーク (14)

  • vs UTF-8, UTF-16, UCS4 - 枕を欹てて聴く

    前置き おはミルキィ! ChromeFullFeedが公開停止になった話を前置きとして書いていたのですが, あまり関係がないのと, 長くなりそうになってきたので, 別の記事に分けました. http://d.hatena.ne.jp/Constellation/20110530/1306701693 概要 という前置きで. ECMAScriptと切っても切れない文字コード, UTF-16. iv / lv5はUnicode変換のためにICUに依存していたのですが, UTF-8 <=> UTF-16なら何とか自分でも書けるのではないかと思い, Unicode Converterを書きました. これでlv5の依存はlibboost, libgc (Boehm GC)に減りましたー. Unicodeの変換の教授, bugつぶしにおいて, id:masa141421356 さんに非常にお世話になりま

    vs UTF-8, UTF-16, UCS4 - 枕を欹てて聴く
  • UnicodeとUTF-8の違いは? - Humanity

    という2chのスレがかなり勉強になったのでまとめ。 少しでも有用だと思ったものは載せてあるので結構長いです。 Unicodeのような文字集合(符号化文字集合?)やUTF-8のようなエンコーディング方式に限らず色んな文字コードにまつわる話があります。 たびたび話が繰り替えされますがそれは確認ということで。 (元スレ) 追記:簡単にまとめました。 1 :デフォルトの名無しさん:2007/04/30(月) 20:02:37 ビッグインディアンとかなんとかかんとか 3 :デフォルトの名無しさん:2007/04/30(月) 20:05:48 また、頭の悪そうなスレが・・・ >>1 それは魚とマグロの違いを訊ねるようなもんだ。 4 :デフォルトの名無しさん:2007/04/30(月) 20:06:49 魚と鮪というよりは、魚と刺身の違いのような気がする。 5 :デフォルトの名無しさん:2007/04/

    UnicodeとUTF-8の違いは? - Humanity
    miya2000
    miya2000 2010/03/14
    「Microsoft Windows では "Unicode" といえば UTF-16 のリトルエンディアンという暗黙の了解になっている」
  • サロゲートペア入門

    はじめに Windows VistaのJIS2004対応により、WindowsのUnicode環境で使用できる日語漢字の数が増えました。従来、12238字(Windows XP)だったのが13145字(Windows Vista)になり、907字追加されることになりました。これによって、JIS第3水準、JIS第4水準の漢字がすべてサポートされることになったのです(Windows XPまでは一部サポート)。 またWindows XPでも、パッチさえ当てれば、Windows Vistaと同じように追加907字を加えた13145字の漢字が使用できるようになりました。 ところが、この追加された907字の中には「サロゲートペア」という特殊な文字が304字あり、これらは今までのUnicodeの文字とは扱いが少し違います。この点について解説していきたいと思います。 対象読者 Unicodeでデータ処理

    サロゲートペア入門
  • [JavaScript] サロゲートペアの扱い方をわかりやすくメモっておく / LiosK-free Blog

    2008-11-13 カテゴリ: Client Side タグ: Tips JavaScript Unicode 先日、JavaScriptでサロゲートペアに対応した文字列関数を書いたりしてみたが、これだけだとサロゲートペアの扱い方を思い出すにはわかりづらいので、わかりやすくまとめ直してメモっておこうと思う。 前提知識 サロゲートペアを使って表現できるコードポイントの範囲はU+10000-U+10FFFFだけ (だから、UnicodeはU+10FFFFまでしかコードポイントを割り当てない仕様になってる!) サロゲートコードポイントはU+D800-U+DFFFの2048個 (11ビット) 2048個を上位サロゲート (U+D800-U+DBFF) と下位サロゲート (U+DC00-U+DFFF) に分けて、上位サロゲートと下位サロゲートの組み合わせ (1024*1024) でU+10000-

  • http://www.itarchitect.jp/beginners/-/10422.html

    miya2000
    miya2000 2009/10/25
    「uが2個以上ならuを1個減らし、uが1個ならUnicode文字に戻せばよい。」
  • プログラミング/小ネタ集/Unicode対応コーディング - ルーチェ's Homepage

    概要 † このコンテンツは、C/C++言語でWindowsプログラミングをしていて、かつMFCやATLにある CString クラスを使っていない人くらいにしか実益はないかもしれません。 が、内容的に知っておいて損はないことなので書いておきます。 概要としては、 LPTSTR 型や TCHAR 型について知り、NT系(Unicode環境)と9x系(非Unicode環境)のどちらにも最適化できるソースコードを書こうというお話です。 TCHAR 型を見たことがなくても、 LPTSTR 型なら見たことがある人も結構いるでしょう。 初心〜中級のWindowsプログラマは、大抵は LPTSTR 型と LPSTR 型の違いを特に意識せずにコードを書いています。 しかし、この二つの型を混同するのは非常に危険なことです。 まずはこれらの型の定義を説明し、 TCHAR 型を用いることでUnicode対応プロ

  • 文字列と UTF-8 バイト列の相互変換: Days on the Moon

    やっていることは「高度な JavaScript 技集」の「UTF-8 <-> UTF16 変換」と同じ。 function toUTF8Octets(string) { return unescape(encodeURIComponent(string)); } function fromUTF8Octets(octets) { return decodeURIComponent(escape(octets)); } encodeURIComponent は encodeURI でもいい (むしろそのほうが処理する文字種が減って速くなりそう) が、decodeURIComponent は decodeURI にすると一部の文字 ("?"、"#" など) がデコードされなくなる。 使いどころ Base64 エンコードする関数 (「高度な JavaScript 技集」の base64encod

    miya2000
    miya2000 2007/09/28
    escape utf-8 utf16
  • Unicode の文字列をエスケープする JavaScript - bkブログ

    Unicode の文字列をエスケープする JavaScript Unicode の文字列を \uXXXX (UTF-16) と \xXX (UTF-8)、&#DDDD (数値文字参照)、Base64, Quoted-printable、 URL などの形式でエスケープする JavaScript です。

  • Unicode の文字列をソースコードに埋め込む方法 - bkブログ

    Unicode の文字列をソースコードに埋め込む方法 Unicode の文字列をソースコードに埋め込む場合、直接 UTF-8 などで文字列を書く方法と、\uXXXX などのようにエスケープして表記する方法があります。後者の方法についてまとめてみました。 \uXXXX 形式の場合 Java, JavaScript, Python, C++, C (C99から) などの多くの言語では \uXXXX という表記 (universal character names) でUnicode の文字を文字列の中に埋め込めます。たとえば、「あいう」は "\u3042\u3044\u3046" となります。 \uXXXX で埋め込んだ文字がどのように解釈されるかは言語や処理系によって異なります。 gcc/g++ の場合、 -fexec-charset オプションで、実際に使う文字セット・エンコーディングを指

    miya2000
    miya2000 2007/09/28
    「Java の場合、コメントの中の \uXXXX が解釈されるので要注意です。次のコードは 2 を出力します。」そんなバカな…ってホントだ! 0x0a LF
  • ウノウラボ Unoh Labs: Mac OS X上のUnicode

    Firefoxは内部的に変換処理を行うようになっているようです。 問題はSafariとOperaですね。 選択されたファイルのパスからJavaScriptで ファイル名を抜き出してタイトルに設定する部分で、 正しく扱えるような文字コードに変換することにしたいと思います。 基的な流れとしては、UTF-8-MAC特有の「U+3099」(COMBINING KATAKANA-HIRAGANA VOICED SOUND MARK)、 「U+309A」(COMBINING KATAKANA-HIRAGANA SEMI-VOICED SOUND MARK)がファイル名に含まれている場合は、 その前の文字と結合して濁音・半濁音の文字にしてあげればいいでしょう (ひらがな・カタカナのみの暫定的な対処に過ぎませんが)。 変換用の文字テーブルを用意して、逐一変換していくかたちにしたいと思います。 というわけ

  • http://homepage1.nifty.com/nomenclator/unicode/data/punct.htm

  • 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のブログ
  • UTF-8 エンコーディングの危険性 - WebOS Goodies

    的に、まともな国際化ライブラリを使っていれば、上記のような不正な文字コードはきちんと処理してくれるはずです。実際、 Opera, Firefox, IE ともに適切にエスケープしてくれました。また、 UCS に変換した後にエスケープ処理を行うことでも対処できるかもしれません。しかし、複数のモジュールで構成されるような規模の大きいアプリケーションでは、そのすべてが適切な処理を行っていると保証するのも、なかなか難しいかと思います。ここはやはり、すべての外部入力に含まれる不正なシーケンスを、水際で正規化するという処理を徹底するのが一番かと思います。 例えば Ruby の場合、不正な UTF-8 コードを検出する最も簡単な方法は、 String#unpack を使って UCS へ変換してみることです(昨日の記事への kazutanaka さんからのはてぶコメントにて、 iconv でも同様なこ

    miya2000
    miya2000 2007/02/23
    あれ?正規化って単語は出てこない?
  • それ Unicode で

    UTF-7 を使ってスクリプトを記述 +ADw-SCRIPT+AD4-alert(\'XSS\');+ADw-+AC8-SCRIPT+AD4- IE は、文字エンコーディングが不明で UTF-7 っぽい文字列があれば、自動判別で UTF-7 となる。

    miya2000
    miya2000 2006/12/14
    『IE では…』多い。ハッカー視点の読み物としておもしろい。
  • 1