タグ

programmingとunicodeに関するastk_fのブックマーク (8)

  • ㇹ゚ン゚'ㇳ̃ヴ゙ニ゙コ゚ヮヰ文̂字̠コ゚−ト゚ノ゙ㇵナ゚ㇱ(現在に至るまでの文字コードの軌跡と簡単な使い方について) - へっぽこびんぼう野郎のnewbie日記

    はじめに 社内の勉強会で発表した文字コードの話の焼き直しです。ところどころ適当なので話半分に読んでもらえると助かります。 これ以上闇の深さを知りたくないと思って、深淵に辿り着く前に文字コードの勉強を打ち切っています。文字コードの専門家でもないので雑です。 調査が甘いので間違ってることも多々あるかもしれません。その場合はコメントください。修正します。 自信のないところは「らしい」とか「ようです」などのように伝聞調で書いています。あらかじめご了承ください。 また、前提知識として2進数と16進数の基礎的な知識を要求しています。 16進数の表現には特に断りがないかぎり 0xFFFF のような表現を使います。 2進数を使う場合には必ず断り書きを入れます。それ以外は10進数です。 筋には関係のない、重要ではない情報は脚注にあります。気になったところだけご覧ください。 アジェンダ 今回の話に関係ある用

    ㇹ゚ン゚'ㇳ̃ヴ゙ニ゙コ゚ヮヰ文̂字̠コ゚−ト゚ノ゙ㇵナ゚ㇱ(現在に至るまでの文字コードの軌跡と簡単な使い方について) - へっぽこびんぼう野郎のnewbie日記
  • C++標準化委員会、ついに文字とは何かを理解する: char8_t - Qiita

    C++ Advent Calendar 2018 この記事はC++ Advent Calendar 2018 15日目の記事です。 14日目: VTKライブラリ 16日目: C++のエラー処理との付き合い方 当初見積もりよりも大幅に長い記事となり、投稿したのは12/22で1週間遅刻です。すみません。 お知らせ cpprefjpにchar8_t型追加について解説を書きました。ぎゅぎゅっとコンパクトに、また査読を受けて中立的な表現で書いていますので、よければどうぞ。 UTF-8エンコーディングされた文字の型としてchar8_tを追加 - cpprefjp C++語リファレンス 追記 全ての開発者が知っておくべきUnicodeについての最低限の知識 - GIGAZINE Unicodeについて簡潔にまとまってるいい記事を見つけました。 Caution この文章には以下の要素が含まれます。苦手

    C++標準化委員会、ついに文字とは何かを理解する: char8_t - Qiita
  • Unicodeエスケープ文字を元に戻す - xin9le.net

    稀に出くわす Unicode 文字のエスケープシーケンス。以下のようなヤツです。 var text = @"\u3053\u3093\u306b\u3061\u306f\u3001\u4e16\u754c\uff01"; その文字をプログラムで戻さなければならない場合があります。今回はそんな方法のメモ。 正規表現の置換を使う ストレートな方法としては、正規表現で '\u....'と入ってる場所を探し出して置換してしまうというのがあるでしょう。サンプルとしては以下のようになります。毎回書くのがダルいですが、メソッド化してしまえば良いですね。 var result = Regex.Replace ( text, @"\\[Uu]([0-9A-Fa-f]{4})", x => { var code = ushort.Parse(x.Groups[1].Value, NumberStyles.Al

    Unicodeエスケープ文字を元に戻す - xin9le.net
  • 「文字数」ってなぁに?〜String, NSString, Unicodeの基本〜 - Qiita

    はじめに この記事は、第5回スタートアップiOS勉強会 - connpassでの同名の発表を文章形式でリライトしたものです。 スライド版(Speaker Deck)はこちら。 String と NSString 「文字列の特定の単語に色をつけて、textViewに表示したい」 …という、ヒトなら誰しもが持つ欲望をさらけ出してください。 そう言われたあなたは、以下のようなコードを書くかもしれません。 func coloredText(from str: String, target: String) -> NSAttributedString { // 対象単語の出現範囲( Range<String.Index> )を取得 let range: Range<String.Index> = str.range(of: target)! // Range<String.Index> を NSRa

    「文字数」ってなぁに?〜String, NSString, Unicodeの基本〜 - Qiita
  • Javaの文字列の長さを判定するには - $shibayu36->blog;

    自分の頭を整理するために書いておく。正しいかは知らない。 まず前提として、Javaの内部表現としての「文字」は16ビット長のUTF-16ということがある。そうすると、普通に長さを取得すると、UTF-16のサロゲートペアで表される文字は2文字と扱われる。 また、文字には合成済み文字という話がある。「か」の後に濁点を結合することで、「が」を表現するみたいなやつ。 これらから、どこまで考慮して文字列の長さを取得するかでやり方が違う。 UTF-16のサロゲートペアを考慮しない UTF-16のサロゲートペアを考慮する 合成済み文字を考慮する 以下試したサンプルコード。 import java.text.BreakIterator; public class UnicodeCharSample { public static void main(String[] args) { // 𪛀あが St

    Javaの文字列の長さを判定するには - $shibayu36->blog;
  • プログラミング言語における文字コードの話

    世の中がほぼUnicode前提になってめでたしめでたし。とはいかなかった現実の話。 String型でできる文字列処理とか、ソースコード自体、特に識別子で使える文字とか。 軽くおさらい: Unicode まあいろんなところでいろんな人が書いてると思うのでさらっと概要だけ。 Unicodeは、元々、「65,536文字あれば十分だろ」とかいう幻想の元、2バイト固定長の文字コードとして作られていました。 もちろん足りなくて、ビット数を拡張。基が2バイトのままでこの拡張した分を取り扱えるようにしたのが今のUTF-16で、拡張分は2文字分(4バイト)を使って表現。 この、2文字分使って1文字を表すやつのことをサロゲートペア(surrogate pair: 代理対)と呼びます。 あと、ASCII文字も2バイトになるのを欧米人が嫌って、ASCII文字はASCIIコードのまま、逆に漢字・ひらがな・カタカナ

    プログラミング言語における文字コードの話
  • JIS2004に含まれるサロゲートペア。Javaでの文字列操作を検証してみた | 株式会社メイプルシステムズ

    最近のマイブームは、映画「アナと雪の女王」関連の色んな動画を子供と一緒に見ることです。でも映画自体はなかなか観に行けずにいます。おにです。 ここのところ、タイトルにある「サロゲートペア(4バイトで1文字を表す文字)」に関わる時間が多く、油断すると錯覚(幻覚?)で「アナと雪の女王」の文字もサロゲートペアに見えて来そうです。(まだ老眼にはなってません。) 今回はその「サロゲートペア」が含まれた文字列のJavaでの文字列操作について試してみたいと思います。 サロゲートペアってなに? サロゲートペアは、上位サロゲートと下位サロゲートを組み合わせて1文字を表現する4バイトのUnicode文字です。Windows Vista(JIS2004)で追加された文字にサロゲートペアは304文字存在します。 Windows XPでは表示できなかった文字なのであまり馴染みはありませんが、Windows XPのサポ

    JIS2004に含まれるサロゲートペア。Javaでの文字列操作を検証してみた | 株式会社メイプルシステムズ
  • wonderfl build flash online

    wonderflは、サイト上でFlashをつくることのできるサービス。 通常Flashをつくるためには、Flash IDEやFlex、FlashDevelop等といったツールを使って、コードを書き、コンパイルする必要がありますが、wonderflでは、サイトにあるフォームにActionscript3のコードを書けば、サーバサイドでコンパイルを行えます。 つまり、ブラウザさえあれば、Flashをつくれます。コンパイル結果はサイト上に表示され、作成されたFlash(swf)はページ上に自動的に表示されるので、完成したFlashをリアルタイムに見ながらコードを書くことができます。 ※APIとして、はてな OpenIDを使用してネットにさえつながれば、誰もがFlashクリエイターになれます。世界中のFlashクリエイターがユーザーになるwonderflは、 文字通り、世界のFlash図鑑となってい

    wonderfl build flash online
  • 1