異体字コードの変換について

[n20150327120350]異体字コードの変換について 投稿者:twintail 投稿日:2015/03/27 12:03:50
InDesignの検索パネルで「正規表現」タブの「検索文字列」に,「<D87E><DC77>」と入力するとすぐに<02F877>と変換されます。
これは「
[n20150327131800]Re:異体字コードの変換について 投稿者:吉田印刷所【運営】 投稿日:2015/03/27 13:18:01
InDesign CCで確認してみましたが、確かにそうなりますね。
検索文字列に「<D87E><DC77>」は「<02F877>」となるのに、置換文字列に「<D87E><DC77>」は何も起きないのですね。
なんでしょうかね…。

attached image
[n20150327142632]Re:異体字コードの変換について 投稿者:works014 投稿日:2015/03/27 14:26:32
[n20150327143006]Re[2]:異体字コードの変換について 投稿者:works014 投稿日:2015/03/27 14:30:06
すみません…こちらを…
https://codepoints.net/U%2b2F877
[n20150327155328]Re[3]:異体字コードの変換について 投稿者:吉田印刷所【運営】 投稿日:2015/03/27 15:53:28
これは<02F877>はUTF-32で「00 02 F8 77」、UTF-16で「D8 7E DC 77」なので、<D87E><DC77>だと<02F877>と変換されるという認識でよいでしょうかね。

同じパターンで<D87E><DC73>は<02F873>になりますね。
https://codepoints.net/U%2b2F873

attached image
[n20150327164441]Re[4]:異体字コードの変換について 投稿者:twintail 投稿日:2015/03/27 16:44:41
UTF16がUTF32に変換されるという解釈なのですね。
有り難うございました。
[n20150327165905]Re[5]:異体字コードの変換について 投稿者:ものかの 投稿日:2015/03/27 16:59:05
UTF-32に変換されるのではなく、Unicodeスカラー値に変換される、ということだと思います。
[n20150327161049]Re:異体字コードの変換について 投稿者:ものかの 投稿日:2015/03/27 16:10:49
「異体字コード」は質問者さんの造語ですよね。この現象は異体字と無関係です。純粋にコードポイントだけの話です。ここを混同しないようにしてください。

  • Unicodeはもともと16ビットのコード。16進数で書くと4桁になる
  • やがて4桁ではおさまらず、5桁へはみだす状況になった
  • 16進数5桁にするには20ビットが必要。でも16ビットなので5桁にできない
  • そこで16進数5桁を、実際には「16進数4桁を2つ(1文字で32ビット)」にして扱えるようにした
  • 「16進数4桁を2つ」で1文字にしたものをサロゲートペアという

ということで、「屠」はサロゲートペアの文字であり、「16進数5桁」「16進数4桁を2つ」の2通りで表すことができる、ということです。<02F877>は6桁になっていますけど、どうしてでしょうね? これはよく分かりません。

attached image
[n20150327163711]Re[2]:異体字コードの変換について 投稿者:ものかの 投稿日:2015/03/27 16:37:11
文字っ子的な蛇足追記
「サロゲートペア」はテキストデータを実際に16ビットにするUTF-16のときだけに使う用語です。汎用的には「0面外」「BMP外」「基本多言語面外」などと言います。
[n20150327165056]Re[2]:異体字コードの変換について 投稿者:twintail 投稿日:2015/03/27 16:50:56
サロゲートペアという考え方ではみ出した部分を補間し2つの4桁コードで表している。と言うことでしょうか?
詳しい解説有り難うございます。

サロゲートペアについてもう少し勉強してみます。