マニュアル: Unicode

投稿日: 更新日: HTML エンコーディング macOS

Java

java.util.regex.Patternでは、 Unicodeのブロックを\p{InGreek}のように定義できます。 有効なブロックは以下のように記載されています。

Patternのサポートするブロック名は、 UnicodeBlock.forNameによって受け入れられ、定義される有効なブロック名です。

java.lang.Character.UnicodeBlock#forNameでは以下のように書かれています。

ファイルBlocks-.txtは、特定のバージョンの標準のブロックを定義します。

このファイルは見つかりませんでしたが、 おそらく以下のパスにあるものが正しいです。

https://www.unicode.org/Public/<バージョン>/ucd/Blocks.txt

Java SE 8は6.2.0に対応しているので、以下のパスになります。

https://www.unicode.org/Public/6.2.0/ucd/Blocks.txt

日本語でよく使われるのはこのあたりでしょうか。

一方で、java.lang.Character.UnicodeBlock#forNameでは、 以下のように書かれています。

なので、'CJK Unified Ideographs'の場合は、 'CjkUnifiedIdeographs'と渡しても問題なさそうです。

HTML

Entity - Glossary | MDN

NFC/NFD問題(Apple)

AppleのOSでは、濁点を含むもの、 例えば「プ」を「フ」と「゜」に分解して格納していたため、 他のOSと互換性がなくなっていました。

チェック方法

ファイル名に関しては以下のようにすることで、 ホームディレクトリ以下を一括でチェックできます。 (NFDになっているものを表示)

convmv -f utf8 --nfd -t utf8 --nfc -r ~

簡単なものなら、ls | od -hcなどで、目視確認もできます。 UTF-8のひらがなカタカナは以下のサイトで調べられます。

自分の環境で確認してみたところ、 「touchでAPFSで新規に作成したファイル」については問題なさそうでした。

Appleのサイトには以下のようにFAQがあります。

APFS preserves the normalization of the filename and uses hashes of the normalized form of the filename to provide normalization insensitivity, whereas HFS+ stores the normalized form of the filename on disk to provide normalization insensitivity.

APFSはファイル名は正規化を保持するが、 ファイル名を正規化したものをハッシュとして使用すると書かれているようです。

ハッシュはおそらく検索用のため、検索するときは 正規化されているかどうかに関わらずヒットするようです。



ページトップへ戻る