「N 文字以上 / 以内」みたいなことを言われたときに考えること. 「文字」とは? 単に「文字」と言っても, それが指しているものが何かは自明ではない. 符号単位 (code unit)JavaScript の場合, 文字列は UTF-16 としてエンコードされている*1ので, そのエンコードの単位である 16 bit ごとに分割するというのがこの方法. .length で取得できるのはこの符号単位の数で, .slice() に与えるのも符号単位で数えたインデックスとなっている. > "あいうえおABCDE".length 10 > "あいうえおABCDE".slice(0, 5) "あいうえお" ところで Unicode には 16 bit で表せる数以上の「文字」 (U+0000 〜 U+10FFFF) が含まれるので, UTF-16 では 1 つの符号単位で表せない「文字」は 2
まえがき ミャンマーでは公用語としてビルマ語が使われている。ビルマ語の表記にはビルマ文字を用いるのだが、このビルマ文字のインターネット上での使用は、混迷を極めていた。そしておそらく今もまだ…。なぜか? それは、Unicodeという文字コードの標準がありながら、Zawgyiというものが広く使われていたためである。なぜそのようなものが登場し、普及することとなったのか、この記事で解説する。 目次 まえがき 目次 凡例 この記事で使う名称について ビルマ語表記 コードポイント ラテン文字表記について Zawgyiの概説と歴史 Zawgyiとは Zawgyiのダウンロード Zawgyi誕生・普及の経緯 複雑なビルマ文字 ビルマ文字とUnicode 回避策としてのビルマ文字フォントの登場 Zawgyiの普及 Zawgyiの実装 実装の方針 文字の並べ替えをせず、左から右に書く 文字の形のバリエーション

最近知ったんですが、Windowsではキーボードから円記号(¥)の入力はできないらしい。 というのも キーボード右上の¥キー キーボード右下の\キー のどちらかを押せば円記号(¥)を入力できますが、どちらを押しても入力されるのは円記号(¥)に偽装されたバックスラッシュ記号(\ )らしい。 皆さんこれ知ってました? いや正直、これを聞いても「何言ってんだコイツ」って思う人が大半だと思いますし、私も今でもそう思います。 これは「バックスラッシュと円記号問題」などと言って、Windowsで昔から続く”呪い”のようなものらしいのですが この”呪い”を理解するには文字コードの歴史を知る必要があります。 文字コードとは? その前に、そもそも文字コードってなによ?という根本的な話からすると、文字コードは「パソコンに文字を覚えさせるための暗記表」みたいなものです。 パソコンは2進数しか理解できないので あ
はじめにこちらはmhidakaが建立したAdvent Calendar Day.3となります。 こんにちは、はじめまして、のなと申します。mhidakaさんのTweetを見つけて、初めてAdvent Calendarなるものを書いています。なにかお作法間違っていたら大目に見てください、よろしくお願いします。 軽く自己紹介をさせていただくと、普段はGoogleでAndroidのTextまわりの開発を行っており、DroidKaigiやShibuya APKで発表させていただいたりしています。最近はほぼ絵文字の話しかしてないので、絵文字おじさんと思われてそうですが、普段の仕事は絵文字に限らず、Androidの文字表示の部分は大抵面倒をみています。 今回この機会をいただいたので、どんな内容を書こうか迷ったのですが、やはり皆が読んで面白い内容というと、絵文字になるのかなぁ、ということで性懲りもなく絵

2003年には「プレーンテキストなんてものは全く存在しない」と言われ、テキストの解読には文字コードの情報が必須となっていました。しかし、2023年になるまでの20年の間に絵文字などのおかげでUnicodeの利用率は98%へと到達し、再び文字コードを気にせずにすむ時代がやってきています。そんな時代において、正しくUnicodeを使うために必要な知識をエンジニアのニキータ・プロコポフさんが解説しています。 The Absolute Minimum Every Software Developer Must Know About Unicode in2023 (Still No Excuses!) @ tonsky.me https://tonsky.me/blog/unicode/ Unicodeの歴史と利用率の推移をまとめたグラフは下図の通り。2000年代後半から急速に普及が進んでいったこ

令和5年9/12にユニコード15.1が正式公開され、CJK漢字拡張-Iの他に“漢字構成記述文字”に指示記号4種、“CJK筆画”に拡張漢字構成記述文字の指示記号が1種類追加されました。ユニコードに採用されていない字の説明がしやすくなったのが重要です。𝚄+𝟹𝟷𝙴𝙵の一部除去指示記号は文字構成要素の一部が削除されていることを示す記号です。 漢字構成記述文字記号をラテン・ギリシャ・キリル各文字体系に応用した例で、ユニコードに採用されていない左右逆になる字形と逆になる字形を説明しやすくなりそうです。画像はにしき的フォントに含まれるユニコード未登録のラテン・ギリシャ・キリル各種字母を漢字構成記述文字記号で説明した例です。

物事の順位付けをするとき、松竹梅という雅な表現がよく使われる。自分もよく使う。blog.3qe.us コンピュータにとってもそうなのだろうか?そう考えた私は実際にソートしてみることにした。 % echo $LANG ja_JP.UTF-8 % sort --version sort (GNU coreutils) 9.3 Copyright (C)2023 Free Software Foundation, Inc. ライセンス GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>. This is free software: you are free to change and redistributeit. There is NO WARRANTY, to the extent permit
2023.05.10 官報に使われる「官報文字」というものがあります。 そこには渡辺さんの「辺」の異体字が140文字も登録されています。 日本語の常用漢字には2136文字ありますが、そこには邉や邊などは入っていません。 そこでJISの第四水準までを含むJIS X 0213という標準を定め、スマホやパソコンではここまでを標準的に表示できるようにしています。 ところが我が国の戸籍で使ってもよいとされている文字はそれを遙かに超えていて、少なくとも55,270文字もあります。 全ての国民の氏名をコンピュータで扱えるようになることを目指して、戸籍統一文字や住基ネット用の統一文字を網羅した「文字情報基盤」を2011年に策定し、それにあわせたフォントを作成し、無償で提供しています。 この「文字情報基盤」(MJ)には、58,862文字が含まれています。 しかし、このMJを全庁的に採用している自治体は、川口

電子メール、ネットワーク機器集中管理、異常検知、分散処理、クラウド基盤などのシステム開発に従事。古代Rubyist。 CLI や TUI なアプリケーションを使っていると、端末の画面が崩れてしまうことがよくあります。 たとえば、こんな TUI が、 環境によってはこんな感じで崩れます。 スクロールなどをしながらしばらく使っているとさらにどんどん崩れていきます。 こうなってしまった場合、とりあえず Ctrl-l で画面を再描画することで、大抵はなんとか読める程度にリセットできますので、ことあるごとに Ctrl-l を連打することになります。 ですが、どうしようもないケースもままあります。 例えば、私の場合は以下のようなシチュエーションで困ります。w3m でテーブルなどを表示するとレンダリングが崩れる less でログの閲覧の際に表示されるべき文字が表示されず見落としが発生する Wander

世界が一つのネットワークでつながる現代社会、文字の問題は文字コードを16bitを超えて拡張するサロゲートペアだけでは解決しなかったようです。 例えば日本語のひらがな「ぱ」という文字、「は」と「゜」が結合した1文字です。ビルマ文字など、世界には結合して1文字となるいろんな言語があります。 Unicode(ユニコード)はこの「結合文字」に対応しています。 下記の文字列の長さを表示するJavaScriptのプログラム、結果はどうなるでしょう? console.log("👨👨👧👦👩👩👧👦👨👨👧👦".length) 実は、結果は33!肌の色の違いと家族構成などの組み合わせで1文字の絵文字を合成する、結合文字の一種です。 日本語の濁音や半濁音のように、言語別ルールで1文字が決まっています。 全ルールが Unicode から公開され、それを元に C# で書かれ

Unicodeのgrapheme cluster (書記素クラスタ) 2015/10/25 Unicodeテキストを1文字ずつ分割するアルゴリズムをUnicodeの仕様として定められており、grapheme cluster (書記素クラスタ)と呼ばれる。 普通はUnicodeのコードポイント1つずつ文字が割り当てられているので、ほとんどはコードポイント1つが1文字になるのだが、たまにコードポイント2つ以上で1文字になるものもあり、 1文字ずつテキストを分解するのは意外と複雑なルールになる。 Grapheme cluster について書かれている公式のドキュメントは以下にある。 Unicode® Standard Annex #29 UNICODETEXT SEGMENTATION http://unicode.org/reports/tr29/ この記事は公式ドキュメントを読んで理解した
こんにちは。徒然なるままにTweetを眺めていたら、Tanakaさんがこのようなことを呟いていました。 そういやRustのStringにreverseメソッドないなと思ったけど、まあよく考えたらUTF-8で文字逆転させるとか地獄のような話になるしそもそも長さが変わるケースとかあったりしそうで怖いわな・・・(´・_・`) — Hideyuki Tanaka (@tanakh) May 1, 2021 背景等はよくわからないですが、文字列の反転というのは確かに難しい問題ですし、どう難しいのかというのを、ちょっと真面目に考えて解説してみました。というノートです。本文での表記についてこれから文字とそのバイト表現の話をしていきます。文字のエンコードの方式で同じ数値でも色々意味が分かれてしまいますので、本文では以下のように表記することにします。 Unicodeコードポイント(以下、単にコードポイント

ハイフンマイナス (hyphen-minus) あるいはアスキーハイフン (ASCII hyphen) は、ラテン文字とともに使われる記号 (-) であり、通常は半角幅の横棒である。約物のハイフン (‐) や演算記号のマイナス (−) の意味で使われる記号である[1]。ASCII、JIS X 0201などのISO/IEC 646系の文字コードや、ISO-8859-1などのISO/IEC 8859系の文字コード、UTF-8などのUnicode系の文字コードにおいて0x2Dの符号位置を持つ文字である。 ハイフンマイナスはタイプライター等の記号として入力が可能であった横棒の意味として、演算等で用いる(二項および単項)演算子のマイナスの用途と、欧文等で単語区切りに使用する約物のハイフン、単語途中での改行時に使用するソフトハイフン、区切りを表すダッシュなどの複数の意味で使用されていた。 その後汎用的
UTF-8はBOMなしでって言ったよね? @moji_memo 文字を少し増やした。これを見る限り、どのリーダーもUTR50を気にしていない印象。たとえば「¶†」は、立てるリーダーは両方立ててるし、寝せるリーダーは両方寝せてるし、UTR50通りに「寝せる/立てる」とやってるリーダーはひとつもない。 http://t.co/zGeCCfvPVF 2013-12-04 16:21:39UTF-8はBOMなしでって言ったよね? @moji_memo UTR50と各リーダーの実装を、適当に選んだ数文字について比べてみたところ、2文字目ですでに全滅。サンプルが少ないのでアレだが、「比較的忠実な実装」さえ見当たらない。図の黄色地がUTR50と食い違う実装。 http://t.co/AM7O2CV3zW 2013-12-04 12:42:36

漢字を含んだ古典文献を現代の活字体に翻刻する際、数多く現れる異体字をどのように扱うか、これはおよそ翻刻に携わる者ならば誰もが苦慮するところである。しかしながら第一期『歌舞伎評判記集成』ほど真摯かつ精力的にこの問題に取り組んだ例も珍しいのであって、月報に原道生氏の連載された「翻刻覚書」はその経緯の報告であるが、これはおそらく異体字を翻刻する際の問題点について論じた、これまでで最も詳しい文章である。漢字に対して厳密なこの姿勢は同『集成』の第二期にも継承され、既にして評判記研究者のうるわしい伝統と化している。当然このたびの第三期でも、その伝統に連なることが期待されるところであろう。 一方第二期の翻刻方針には、第一期のそれから大きく転換した点もある。第一期が原則として正字体を用いたのに対し、「時代の動きに即した新しい漢字処理方式」としてほとんど全面的に常用漢字表の新字体の使用に踏み切ったことである
文字コード再入門 ─ Unicodeでのサロゲートペア、結合文字、正規化、書記素クラスタを理解しよう! 文字コードには、どのような種類があり、それぞれどのような意味を持つのか、といった、文字コードの基本的な概念、従来の文字コードを紹介し、現在のUnicodeの構成を概説し、プログラミングにおいて注意すべき箇所をいくつか取り上げます。 ソフトウェア開発に携わる方の多くは、何らかの形で文字コードに触れることがあるでしょう。文字や記号をコンピュータ上でデータとして扱うには、文字コードの知識が必要不可欠です。本稿では、書籍『プログラマのための文字コード技術入門』の著者である矢野啓介さんが、知っておきたい基礎知識を分かりやすく解説します。 文字コードとは? Unicode以前の文字コード Unicodeとその主な符号化形式 UTF-16 UTF-32UTF-8 Webで文字コードを指定する仕組み

はじめにTwitterで、文字化けネタを幾つかつぶやきました。 サッちゃんはね サチコっていうんだ ほんとはね だけど ちっちゃいから 自分のこと SJISで 保存するんだよ おかしいな 繧オ繝ちゃん — ロボ太 (@kaityo256) 2017年10月10日 「私 魔女のキキです。こっちはSJISの繧ク繧ク」 — ロボ太 (@kaityo256) 2018年1月6日UTF-8「もしかして…」 SJIS「私達…」 「「入れ替わ縺縺ヲ繧九≦縲懶シ†」」 — ロボ太 (@kaityo256) 2018年2月13日 どれもUTF-8で保存された文字をSJISとして解釈したための文字化けを表現したものですが、パッと見で「糸偏の漢字が多いな」ということがわかるかと思います。なぜそうなるかを簡単に説明してみようと思います。 なお、文字コードはいろいろ面倒なので、ここではざっくりとしたことしか言い

リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く