この記事は 2024 TSG Advent Calendar 初日の記事です。 …………🤔❓Python の数値文字列判定ロジックを探る str.isnumeric() メソッドとは?Python の str.isnumeric() メソッドは、文字列内のすべての文字が数値を表すものであれば True を、そうでなければ False を返します。*1 まず、このメソッドの基本的な動作を見てみましょう。 #Python の isnumeric() の動作例 print("123".isnumeric()) # True; 1, 2, 3 は数字 print("123a".isnumeric()) # False; a は数字ではない print("五千万".isnumeric()) # True; 五、千、万 は数値 漢数字にも対応しており、一見よさそうに見えます。ところが…… pr

この記事は 2024 TSG Advent Calendar 3日目の記事です。昨日の記事は @__dAi00 さんの記事AivisSpeechを使ったDiscordボットの作成 ①AivisSpeechをGoogle Cloud Runにデプロイする でした。12/5 公開予定の続編も楽しみです。 今回は、初日に公開した以下の記事の副産物です。 import unicodedata #Python 3.12 まで 1000000000000.0 #Python 3.13 から 1000000.0 print(unicodedata.numeric("兆")) 大変だ。Python 3.13 から「5000 兆円」が 50 億円になってしまう(?) unicodedata.numeric メソッドと Unicode 例によって Unicode が関係してきます。前編でも触れたとおり、
Windowsでは、文字コードに「ユニコード」を使う。Windowsに搭載されているフォントはさまざまあるが、ユニコード文字を表示できるように、多数の文字の形が組み込まれている。 今回は、Windowsでユニコードを“見る”方法について解説する。なお、WindowsではUTF-16LEエンコードをUnicodeと表記する。ここでは、エンコードと混同されないために、文字仕様のUnicodeは「ユニコード」とカナ書きすることにする。GUIアプリでユニコードを使う ユニコード文字は多数ある。それぞれの文字に割り当てられた文字コードをユニコードでは「コードポイント」と呼ぶ。コードポイントは、「U+」の後ろに16進数4桁または6桁で指定するのが正式な表記方法だ。たとえば、「漢」は「U+6F22」となる。ユニコード関連の文書やもちろん、インターネット内のウェブページでも同様の表記をすることが多い。

まえがき ミャンマーでは公用語としてビルマ語が使われている。ビルマ語の表記にはビルマ文字を用いるのだが、このビルマ文字のインターネット上での使用は、混迷を極めていた。そしておそらく今もまだ…。なぜか? それは、Unicodeという文字コードの標準がありながら、Zawgyiというものが広く使われていたためである。なぜそのようなものが登場し、普及することとなったのか、この記事で解説する。 目次 まえがき 目次 凡例 この記事で使う名称について ビルマ語表記 コードポイント ラテン文字表記について Zawgyiの概説と歴史 Zawgyiとは Zawgyiのダウンロード Zawgyi誕生・普及の経緯 複雑なビルマ文字 ビルマ文字とUnicode 回避策としてのビルマ文字フォントの登場 Zawgyiの普及 Zawgyiの実装 実装の方針 文字の並べ替えをせず、左から右に書く 文字の形のバリエーション

数字を処理するコンピューター上で文字を扱うためには、文字コードと呼ばれるバイト表現が重要となります。かつては国や言語ごとにバラバラの文字コードを使っていましたが、記事作成時点ではUnicodeにほぼ統一されているといえます。そんなUnicodeへの統一には絵文字が大きな役割を果たしたと、ソフトウェア開発企業のIbexaでシニアデベロッパーアドボケイトを務めるJani Tarvainen氏が解説しています。Emojis paved the way forUTF-8 everywhere https://developers.ibexa.co/blog/emojis-paved-the-way-for-utf-8-everywhere Tarvainen氏の母語であるフィンランド語には、アルファベットに「Ä」などのウムラウトや「Å」などのリングといった記号を伴うことがあります。これらの記号

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種類追加されました。ユニコードに採用されていない字の説明がしやすくなったのが重要です。𝚄+𝟹𝟷𝙴𝙵の一部除去指示記号は文字構成要素の一部が削除されていることを示す記号です。 漢字構成記述文字記号をラテン・ギリシャ・キリル各文字体系に応用した例で、ユニコードに採用されていない左右逆になる字形と逆になる字形を説明しやすくなりそうです。画像はにしき的フォントに含まれるユニコード未登録のラテン・ギリシャ・キリル各種字母を漢字構成記述文字記号で説明した例です。

米Googleが提供する「Emoji kitchen」がSNSで話題だ。Emoji kitchenは2つの絵文字をミックスして新しい絵文字を生み出す機能。これまでAndroid向けキーボードアプリ「Gboard」で提供していたが、9月15日までにGoogle検索からも利用可能になり、X(元Twitter)ではカオスな絵文字を投稿するユーザーが相次いでいる。Google検索版Emoji kitchenは「Emoji kitchen」と検索することで、PCとスマートフォンの両方で利用できる。選択できる絵文字は230種類以上あり、2つの絵文字を選ぶことで新しい絵文字を生成できる。 例えば「雨雲」と「にこやかな笑顔」を組み合わせると「にこやかな笑顔の雨雲」の絵文字を生成する。笑っている顔の代わりに「大声で泣いている顔」を組み合わせてやれば「大声で泣いている雨雲」ができるなど、ある程度パターン化さ

導入 アイヌ語は日本語と異なり、閉音節(子音で終わる音節)も存在するので、表記の際音素文字であるラテン文字なら、そのまま p, t, k, m, n, s, r などの子音文字を後ろの付ければ良いわけなので、アイヌ語ローマ字表記では、何も問題が生じない。しかし、元々開音節言語である日本語に特化したカタカナのような仮名文字で表記する際、鼻音 n は「ン」でなんとかなる(実はそれでもまずい事になっているけどここでは割愛する)が、p, t, k, m, n, s, r, h はどうしようもないので、特殊の捨て仮名(小書き仮名文字)を利用することになっている。 具体的には以下のような特殊仮名文字(通称 アイヌ語仮名)である。 ㇷ゚ -p ッ -t ㇰ -k ㇺ -m ㇱ -s ㇻ -(a)r, ㇼ -(i)r, ㇽ -(u)r, ㇾ -(e)r, ㇿ -(o)r お分かり頂けただろうか… 問題 r

import re re.match(r'\d{4}-\d{2}', '٢٠٢٢-٠٦')Pythonで書いてはいますが、内容を補足します。「'٢٠٢٢-٠٦'」という文字列が、数字4文字+ハイフン+数字2文字にマッチするかどうか、という正規表現を書いています。 一見するとどう見ても数字4桁ではないので、正規表現にマッチしないように見えますよね???? 実は正規表現にマッチします!!!というのが今回の記事の内容になります。 そもそも正規表現における数字の扱いとは 今回はPythonの正規表現のライブラリを利用しているので、公式のリファレンスを見てみましょう。 該当の部分には以下のような記述があります。 \d Unicode (str) パターンでは: 任意の Unicode 10 進数字 (Unicode 文字カテゴリ [Nd]) にマッチします。これは [0-9] とその他多数の数字を

表題のことについて検証してみましょう。 目次 目次 前提 Webページ上で独自のフォントを読み込むにはフォントファイルのサイズフォントファイルのサイズを抑える工夫フォントファイルを分割し、必要に応じて読み込むフォントファイルを圧縮する 前提おわり本題 規格によると 4.5. Character range: the unicode-range descriptor 4.5.1. Using character ranges to define composite fonts 実験する 準備 実験方法 実験結果 まとめ 前提本題に入る前に、Webフォントを配信する際の前提について説明します。分かっている方は読み飛ばしてもらって大丈夫です。 Webページ上で独自のフォントを読み込むにはCSSの font-family 属性に使いたいフォント名を書くことで、Webページ上のコンテン

こんにちは。徒然なるままにTweetを眺めていたら、Tanakaさんがこのようなことを呟いていました。 そういやRustのStringにreverseメソッドないなと思ったけど、まあよく考えたらUTF-8で文字逆転させるとか地獄のような話になるしそもそも長さが変わるケースとかあったりしそうで怖いわな・・・(´・_・`) — Hideyuki Tanaka (@tanakh) May 1, 2021 背景等はよくわからないですが、文字列の反転というのは確かに難しい問題ですし、どう難しいのかというのを、ちょっと真面目に考えて解説してみました。というノートです。本文での表記についてこれから文字とそのバイト表現の話をしていきます。文字のエンコードの方式で同じ数値でも色々意味が分かれてしまいますので、本文では以下のように表記することにします。 Unicodeコードポイント(以下、単にコードポイント

対象者 UnicodeやUTF-16について、よくわかってない人 -> ここから "😀".split("")で文字化けする理由がわからない人 -> ここから [..."👨👩👧"].lengthが5になる理由がわからない人 -> ここから 文字コードについてもう一度 文字コードは以下の二つで構成されています 符号化文字集合: 文字と、その文字の位置を示す一意の番号の集合 文字符号化方式: 文字に振られた番号をバイト表現にエンコードする方法 符号化文字集合 符号化文字集合は、 文字 その文字の位置を示す一意の番号 この二つの組み合わせの集合のことを指します。 例えばASCIIでは 8bit(128通り) でラテン文字や英数字を表現しています。 しかしASCIIには日本語などの非英語圏の文字が収録されていません。 そのため、日本語を収録したShift-JISやアジア圏の文字を収録した

酷暑だった夏もいつの間にか終わり、季節は秋である。秋といえば Unicode、そして、Unicode で最も注目すべき文字といえば“雪だるま”であることは論を待たないだろう。 ☃ U+2603 SNOWMAN ⛄ U+26C4 SNOWMAN WITHOUT SNOW ⛇ U+26C7BLACK SNOWMAN/li> そういうわけで、早速、色々なフォントにおける雪だるまのグリフについての調査レポートが発表されている。素晴らしい。 「TeXでゆきだるま」をもっとたくさん (acetaminophen さん) 文書「ゆきだるまグリフを持つフォント」 著者のGogole サイトのページの中の Snowman-Word2010.pdf のファイル。 非常に素晴らしい内容であるか、一つ気になる記述がある。 不吉な雰囲気を醸し出す U+26C7BLACK SNOWMAN は、Unicode S

Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?C++ Advent Calendar 2018 この記事はC++ Advent Calendar 2018 15日目の記事です。 14日目: VTKライブラリ 16日目:C++のエラー処理との付き合い方 当初見積もりよりも大幅に長い記事となり、投稿したのは12/22で1週間遅刻です。すみません。 お知らせ cpprefjpにchar8_t型追加について解説を書きました。ぎゅぎゅっとコンパクトに、また査読を受けて中立的な表現で書いていますので、よければどうぞ。UTF-8エンコーディングされた文字の型としてchar8_tを追加 - c

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