タグ

2013年6月13日のブックマーク (16件)

  • UnicodeとUTF-8の違いは? - 自分的まとめ - Humanity

    UnicodeとUTF-8の違いは? - Humanityはあんなに反響があるとは思わなかった。 ブコメにコピペじゃなくてまとめを書いてくれれば良い資料になるのにと書いてあったので今度は自分の知識をまとめてみる。 と言っても自分もあのスレを見るまでUnicodeとUTF-8を混同してた一人なのでほとんどあのスレからの知識ですが...orz なので簡単なまとめ。引用を多分に含みます。間違ってたらつっこんでいただけるとうれしいです。 調べる際に弾さんのエントリがかなり参考になったので(今頃意味が分かってきた)関連リンクとして度々載せさせていただきます。 参考リンクじゃない理由は解説しているエントリだけじゃなくて既存のエンコーディングを拡張するといった高度なエントリも含まれているため。 UnicodeとUTF-8 まず一番重要なことは Unicodeは「符号化文字集合(Coded Charact

    UnicodeとUTF-8の違いは? - 自分的まとめ - Humanity
    neumann
    neumann 2013/06/13
    unicodeまとめ
  • UNICODEをサポートしたプログラムの作成

  • 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 - 枕を欹てて聴く
    neumann
    neumann 2013/06/13
    unicodeまとめ
  • 「UnicodeとUTF-8とUCS-2の関係 ――符号化文字集合? 文字符号化方式?」プログラマのための文字コード技術入門(WEB+DB PRESS plusシリーズ)|gihyo.jp … 技術評論社

    WEB+DB PRESS plus(ウェブディービープレスプラス)シリーズは, Webアプリケーション開発のためのプログラミング技術情報誌『WEB+DB PRESS』編集部が自信を持ってお届けするシリーズです。 UnicodeとUTF-8とUCS-2,UCS-4など,Unicode関連用語は,いわゆる用語解説にあたるだけでは理解するのに混乱しがちな話題かもしれません。それぞれの用語が登場した経緯や,符号化文字集合,符号化方式としてどういった存在かについて追っていくと,きちんと理解されることと思います。ここでは,簡単に整理してみることにしましょう。 まとめると,Unicodeは整数値で表される符号位置と文字とを対応付けています。そして,その整数である符号位置をコンピュータで用いるバイト列の形で表現するための方式として,UTF-8やUTF-16やUTF-32といった各種の符号化方式が定められて

  • Unicode [Delphi Programming]

     Unicode DelphiでUnicodeを扱うにあたって、まずはUnicodeそのものの概要を知っておく必要があります。最低限、ここに書いてある知識がないと、後で落とし穴にハマる事になります。 Unicodeって? 簡単に言えば、65536文字にすべての国の文字を収めようとしたのがUnicode1.0でした。その後とても16bitの範囲に収まりきれなくなって、現在では21bitになっています。 Unicodeは文字集合であり、その文字が格納されている場所をコードポイントと呼びます。コードポイントは16bit以下の領域の物をU+xxxx(4桁固定)で表わし、それ以上のものをU+10000..U+10FFFF(桁可変)で表 わします。"U+"で表わされる値の事をスカラー値と呼びます。Unicodeの先頭128文字(7bitの範囲)はAnsi文字をアップスケールしたものと同等です。 UC

    neumann
    neumann 2013/06/13
    unicodeまとめ
  • Unicode, UCS-2/4, UTF-8/16/32についての整理 - デ-mk6

    ※注意:これは私が調べた結果をまとめたものなので、間違いがあれば指摘していただけるとありがたいです。 用語 ここで整理したいことについて話せるようにするための説明なので、正確ではないです(符号化文字集合とか符号点とか)。 文字集合 文字の集合 符号化文字集合 文字と負ではない整数(または整数列)の対応表。その整数が、コンピュータで扱うビットの並びそのものとは限らない。コンピュータでは、この整数を符号化方式によって変換したものを扱う。 符号点、符号位置、コードポイント 符号化文字集合で、文字に対応している整数(または整数列)のこと。「符号位置」はUnicodeでの呼び方。 符号化方式 符号点を、コンピュータで扱うビット列で表現するための変換方式。よく「エンコーディング」と呼ばれるものはこちら。符号化符号化うるさいので、ここでは「エンコーディング」ということにする。 ※「符号化文字集合」と「符

    Unicode, UCS-2/4, UTF-8/16/32についての整理 - デ-mk6
    neumann
    neumann 2013/06/13
    unicodeまとめ
  • UCS と Unicode

    UCS ( Universal Multiple-Octet Coded Character Set ) は全ての言語の 文字を一つの ( 統一された ) コードに割り当てるものです。 コードテーブルは 0 〜 0x7FFFFFFF と、約21億文字分 有ります。 1文字あたり4バイト使用するため UCS-4 とも呼ばれます。 Unicode は UCS の 0 〜 0x10FFFF ( 約 111 万文字 ) の部分をいいます。 使います、と書きましたが実際は UCS と Unicode は策定しているグループが異なります。 UCS を策定しているグループが下位部分を採用したことから互換性が発生し、 サブセット(部分集合)レベルでは同一とみなせるのが現状です。 UCS-4 の範囲では UCS-4 ( UTF-32 とも呼ばれます ) と UTF-8 の2種類のコーディ

  • Unicode ~UCS-4とUCS-2~(文字コード関連) | 読み物 | ウナのIT資格一問一答

    今回はこのUnicodeという文字集合を、もう少し詳しく見ていきましょう。 まずはたとえ話をします。 ある小学校を考えます。この小学校には1~6まで6つの「学年」があり、1つの学年には1~3までの3つの「クラス」があり、1つのクラスには1~5までの5つの「班」があるとします。 1つの班に所属する生徒は6人で、班の中では1~6まで6つの「班員番号」が割り当てられているすると、この小学校には6(班員番号)×5(班)×3(クラス)×6(学年)=540人の生徒がいることになります。 生徒は学年・クラス・班・班員番号を指定すれば一意に識別できます。学年・クラス・班・班員番号という4つの要素で540人を分類しているともいえます。 この例と同じように、Unicodeで定義されている世界中の文字は群・面・区・点という4つの要素で分類されます。 UCS-4という規格では128の群、256の面、256の区、2

  • UCS-2とUTF-8

    最終更新 2003-11-11 UCSとUTF ユニコードで文書を作るとき,文字コードの方式が2種類,あるいはそれ以上あることに気が付かれるかもしれません。例えば,一つはUnicodeとあるのに対し,もう一つはUnicode (UTF-8)と表記されているかもしれません。この2つは,また,その違いは何でしょうか(前者はUTF-16の一形態なのですが…)。 UCS-2とUCS-4 ユニコードが採択されることになった多言語用の文字コードセット,ISO-10846-1は,16ビット(16桁の二進数)でそれぞれの文字を表します。それをUCS-2 (Universal Character Set coded in 2 octets,「2つのオクテットでコードされたユニバーサル文字セット」)と称します。オクテットとは文字長の単位としての8ビット(8桁の二進数)のことです。 ユニコードの特定の文字は,例

    neumann
    neumann 2013/06/13
    unicodeまとめ UCS-2 (UCS-4) とUTF-8の間には,次の関係があります 00000000-0xxxxxxx 00000xxx-xxyyyyyy xxxxyyyy-yyzzzzzz 00000000-000wwwxx- xxxxyyyy-yyzzzzzzz
  • 「金融機関等コンピュータシステムの安全対策基準」(FISC 安全対策基準)に対する Azure の対応状況リストを公開 - MSDN Blogs

    In Visual Studio 2022 17.10 Preview 2, we’ve introduced some UX updates and usability improvements to the Connection Manager. With these updates we provide a more seamless experience when connecting to remote systems and/or debugging failed connections. Please install the latest Preview to try it out. Read on to learn what the Connection ...

    「金融機関等コンピュータシステムの安全対策基準」(FISC 安全対策基準)に対する Azure の対応状況リストを公開 - MSDN Blogs
  • Windows 2000のレジストリ ファイルはUnicode形式 - @IT

    各国語版向けのソースコードを一化するなど、国際化対応を一歩進めたWindows 2000では、レジストリ エディタから出力されるレジストリ情報ファイル(.regファイル)の形式が従来のASCIIコード形式から、Unicode形式に変更された。Unicodeは、日の漢字などを含む世界各国の文字を1つのコード体系で表現しようと考案されたもので、Windows 2000では、内部的な文字列処理をすべてUnicodeで統一している(APIには従来のASCIIコードを受け付けるものも残されているが、内部的にはUnicodeに変換して処理している)。 周知のとおり、レジストリは、ハードウェア環境からソフトウェア環境まで、Windowsシステムに関するあらゆる情報を一元的に記録・管理しているもので、レジストリの情報はレジストリ エディタ(regedit.exe)で表示、編集することができる。このレジ

  • Windows API on C++

    となります。グローバルなロケールを設定する場合、std::localeクラスのstaticメンバ関数のglobalを用いて設定します。 std::locale std::locale::global(const std::locale&); これにロケールクラスのインスタンスを引き渡します。ただし、このロケールが影響を与えるのは、これを実行した後で生成したインスタンスに対してだけです。 たとえば、std::wcoutには影響を及ぼしません。そこで、std::basic_ostreamクラスの基底クラスであるstd::iosクラスのimbueメンバ関数を呼びましょう。 std::ios::imbue(const std::locale&); これにlocaleクラスのオブジェクトを渡せばいいです。 Cであれば、setlocale()関数によって設定します。これはプログラム全体に影響を

  • Windows API on C++

    〜A系の関数、構造体は引数にShift_jis文字列を受け取ります。〜W系の関数、構造体は引数にUnicode文字列を受け取ります。 NT系で〜A系の関数を呼び出すと、Unicodeへの変換が起こります。これがオーバーヘッドになるかどうかといえば微妙ですが、全くないとは思えません。 次の節では、APIプログラミングではどのようになるのかを解説します。 2 APIプログラミングと文字列 VCなどのWindows環境のC++では、基的に、Shift_jisをchar型で保持し、Unicodeをwchar_tで保持します。 プログラムがUnicodeに対応することには、次のような利点があります。 国際化に対応できる。 Shift_jisの範囲の文字(半角かな除く)であれば、2バイトの固定長であらわせる。 しかしながら、charを使わなければならない場面もあると思います。具体的には… 9x

  • 転ばぬ先の文字コード入門(第4回)

    矢沢 久雄 今回は,Windowsアプリケーションを作成する場合に,文字コードをどのように取り扱えばよいかを説明します。Windowsアプリケーションは様々な開発ツールを使って作成できますが,ここでは主にVisual Basicを使います。Windowsは,現在,シフトJISコードからUnicodeへの転換期にありますが,プログラミングにも,それが如実に現れています。Visual BasicにもWindows自体にも,シフトJISコードとUnicodeの両方を取り扱う仕組みが提供されているのです。 ●Unicodeはプログラムで処理しやすい WindowsがシフトJISコードからUnicodeへの転換期にあるとは言っても,Windowsにおけるファイルの保存形式の主流は依然としてシフトJISコードのままです。もしもUnicodeでファイルを保存してしまうと,それを読み出せないアプリケーショ

    転ばぬ先の文字コード入門(第4回)
  • 文字コード変換にWideCharToMultiByteやMultiByteToWideCharなんて使わない!(UsefullCode.net)

    UsefullCode.net Visual Studio 2005/2008/2010やandroid SDK/NDKでの開発者向けに便利なソースコードを提供 This site provide you with useful source codes under 'USEFULLCODE license'. Windowsには文字コード変換用のAPI関数としてWideCharToMultiByteやMultiByteToWideCharがある。それぞれユニコード文字列をSHIFT-JISにしたり、SHIFT-JIS文字列をユニコードにしたりするときに用いるためのAPIだ。 前回までにこれらの関数を用いたユニコード<->SHIFT-JISの相互変換関数のソースコードを紹介した。しかし私自身、今までソフト開発をするときにWideCharToMultiByteやMultiByteToWide

    neumann
    neumann 2013/06/13
    非ユニコード型であるCStringAに対してユニコード文字列をそのまま代入することもできる。このときに自動的にCStringAの内部でWideCharToMultiByteが呼び出されてユニコード文字列から非ユニコード文字列に変換されている。ATL用
  • 7.2 ASCII の NUL と DEL の本来の意味 - 文字コードに関する覚え書きと実験

    文字コードについて調べたことや実験したこと, テストプログラム,データファイルなどを随時掲載する予定です. ただし筆者の理解不足や誤解により誤りがあるかもしれませんので, ご利用は自己責任で. このページの主な更新は Blog でお知らせします. 表示確認ブラウザ:FireFox 22.0,IE8. 0.目次 シフトJIS Shift_JIS と Windows-31J (CP932) の違い シフトJIS 2バイト文字の判定 謎の検索ワード集 (シフトJIS編) 「Shift_JIS(SJIS,Windows-31J,CP932) 3バイト文字」 「Shift_JIS(SJIS,Windows-31J,CP932) サロゲート(ペア)」 「UTF-8 4バイト文字 Shift_JIS(SJIS,Windows-31J,CP932) 変換」 「Unicode(UTF-8,UTF-16) か

    7.2 ASCII の NUL と DEL の本来の意味 - 文字コードに関する覚え書きと実験
    neumann
    neumann 2013/06/13
    すごい、勉強になる。UTF-16 符号単位がサロゲートか否かを判定する. サロゲート・ペア ⇔ Unicode スカラ値変換 U+010000 ~ U+10FFFF (x xxyy yyyy zzzz zzww wwww)