コード番号をASCII文字列として再変換とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > ウィキペディア小見出し辞書 > コード番号をASCII文字列として再変換の意味・解説 

コード番号をASCII文字列として再変換

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/03/19 04:49 UTC 版)

Punycode」の記事における「コード番号をASCII文字列として再変換」の解説

Punycode は、このコード番号を表すためにリトルエンディアン一般化可変長整数使用する。例として、コード番号745を「kva」と表す方法を示す。 一般化可変長整数では、各々異な閾値設け、これより小さ数字表れる最大とすることで、数字列の区切り決める。 Punycode用いられるリトルエンディアン場合小さから表記されるため、先読みなしで任意の桁数数字表記できるPunycode場合は、各使える数字として36種の文字使用するアルファベット大文字小文字区別しない)の'a'から'z'が0から25表し数字の'0'から'9'が26から35を表す (このため後述する式に出てくる底 (base) は、36となる)。 10進数0 1 2 324 25 2634 35 一般化可変長整数a b c dy z 0 … 8 9たがって、「kva」は「10 21 0」を表す。ここで閾値は (1 1 26) であるとする。最初 (kつまり10) の重みは1である。1目は1–35までの範囲の値をとるため、2目 (vつまり21) の重み35となる。2目は同様に1–35範囲の値をとるため、3目 (aつまり0) の重み352 = 1225 である。また、3目の値0は3目の閾値26よりも小さいため、ここで1つ目の数字列は終了であることがわかる。したがってkva」は 10 × 1 + 21 × 35 + 0 × 1225 = 745 を表していることがわかる。 各重みw(j)および閾値t(j)の値は、以下の式で計算される: w ( 0 ) = 1 {\displaystyle w(0)=1} w ( j ) = w ( j − 1 ) × ( b a s e − t ( j − 1 ) ) {\displaystyle w(j)=w(j-1)\times ({\mathit {base}}-t(j-1))} t ( j ) = b a s e × ( j + 1 ) − b i a s {\displaystyle t(j)={\mathit {base}}\times (j+1)-{\mathit {bias}}} (ただしt(j)は上式をtmin以下ならtmin、tmax以上ならtmaxクランプしたものである。 bias状態変数である。) base = 36, tmin = 1, tmax = 26 2つ目の文字挿入する際には、さらにエンコードされたコード番号繋げていけばよいが、挿入のたびにbiasの値が調節され、各閾値重みが変わることに注意する必要があるbiasの値が変わらない範囲であれば単純に追加するだけでよい。例えば、"bücher" に2つ目の非ASCII文字挿入しようとすると、前述のとおりデコーダ前に戻れないため、最初挿入結果は "büücher" で、コードは "bcher-kvaa" となる。次の挿入可能位置は "bücüher" で "bcher-kvab" となる。同様に続きの "bücherü" は "bcher-kvae" となり、次に来るのは "ýbücher" で "bcher-kvaf" である。

※この「コード番号をASCII文字列として再変換」の解説は、「Punycode」の解説の一部です。
「コード番号をASCII文字列として再変換」を含む「Punycode」の記事については、「Punycode」の概要を参照ください。

ウィキペディア小見出し辞書の「コード番号をASCII文字列として再変換」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「コード番号をASCII文字列として再変換」の関連用語

1
34% |||||

コード番号をASCII文字列として再変換のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



コード番号をASCII文字列として再変換のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのPunycode (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS