日本語を含む値は文字の途中で切らない
日本語 86 文字(UTF-8 で 1 文字 3 オクテット)の値を分割する例です。長さがオクテット数で数えられること、1 文字の途中では分けないことを確かめます。
入力
TXT レコードの値
日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日
変換の向き
分割(長い値を 255 オクテットごとの引用文字列にする)
結果
エラー 0 件・警告 0 件・情報 1 件
指摘(エラー・警告・情報)
- 情報 全体 ASCII 以外の文字を含みます。TXT の長さはオクテット(UTF-8 のバイト数)で数え、1 文字の途中では分割しません。そのため一部の文字列は 255 オクテットより短くなります(RFC 1035 3.3)。
| 文字列の数 | 2 |
|---|---|
| 各文字列の長さ(オクテット) | 255 + 3 |
| 合計(結合後) | 258 オクテット |
変換した結果
"日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日日" "日"
検算(この結果になる理由)
日の UTF-8 は 3 オクテットで、85 文字が 255 オクテットです。86 文字目を足すと 258 になり上限を超えるため、85 文字(255)と 1 文字(3)の 2 つに分かれ、文字の途中では切れません。
判定の根拠は仕様と根拠に、仕様の出典とともにまとめています。自分の入力で試すにはツールをお使いください。
このツールの制約
- DNS 事業者によっては、管理画面が分割を自動で行ったり、引用符を付けずに入力する方式だったりします。ここで作る形式がそのまま使えるとは限りません。
- 128 以上のコードを表す \DDD は文字に直さず、そのままの形で結果に残します(バイト列としての復元までは行いません)。
- DNS に問い合わせて登録内容を取得する機能はありません。貼り付けた文字だけを変換します。
ご利用にあたって
- 結果は仕様にもとづく変換で、DNS 事業者の入力画面でそのまま受け付けられることを保証するものではありません。
- 登録したあと、実際の応答を dig などで確かめ、結合した値が元の値と一致することを確認してください。