Unicode Character Search Query: include Han codepoints? Cancel A-Z index | Search options
Unicode Character Search Query: include Han codepoints? Cancel A-Z index | Search options
UTF-8文字列からコードポイント数を計算するアルゴリズムについて紹介します。コードポイント数カウントは、シンプルに書くのはそれほど難しくないものの、高効率な実装は意外にややこしいです。 内容は二本立てです。 実践的な実装について、Ruby(CRuby)の内部実装(string.c)で使われているものを紹介します。 標準Cの範囲を超えて、SIMD命令(AVX/AVX2)を使った実装についても述べます 軽く検索する限りだと既知のアルゴリズムが見当たらなかったので、アドホックな実装をひねり出しましたが、そんなに効率は悪くなさそうです おまけで簡単な性能評価をやってみました。 なお、UTF-8文字列はバリデーション済み(不正なシーケンスでないことが分かっている)であるとします。 Rubyの内部実装だとどうやっているか まずは、それがコードポイントの先頭バイト(leading byte)かを判定す
きっかけ Linuxエンジニアとしての基礎力のなさを見抜かれ、これ読んでみるといいよとおすすめされたのがきっかけ。 gihyo.jp 大変お恥ずかしい話だが、自分はエンジニア7年目にして初めてLinuxについての本を読んだ。それまではなにか上手くいかないことがあればブログやQiitaを参考にコピペしてその場しのぎしていただけだった。 目次 第1章 コンピュータシステムの概要 第2章 ユーザモードで実現する機能 第3章 プロセス管理 第4章 プロセススケジューラ 第5章 メモリ管理 第6章 記憶階層 第7章 ファイルシステム 第8章 ストレージデバイス おもしろかったところ メモリ管理 プログラムは直接物理メモリにはアクセスしない。仮想メモリを通して物理メモリにアクセスする forkしたとき、仮想メモリは書き込み権限が付与されずに同じ物理アドレスが紐付いたままの状態。子プロセスで書き込みが走
今日、こんなツイートを見かけました。 娘1のクラスの寄せ書き、「楽しかったよ」「また会おうね」が多い中、キラリとひかる名文発見。「青春って魚編をつけると鯖鰆(サバサワラ)って読めるよね。似たような熟語を見つけたら教えて」By 町田高史(仮名) 彼が無事に社会に適応できますように。— 藤川オレンジーナ (@Forangina) 2017年3月21日 ぼくもこういうのは大好きです。 (社会に適応できているかどうかは微妙なところです) それで、こういうのを探してみることにしました。 漢字の構造については、漢字構造情報データベース(CHISE)というものがあります。 (かなりの労力がかかっていると思われるデータベースです。作られた方に感謝します。) 今回は、これを使わせていただきます。 % git clone http://git.chise.org/git/chise/ids.git この中の
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く