HTMLエンティティをエンコード・デコードする方法
テキストとモードを指定して、HTMLエンティティのエンコードまたはデコードを実行できます。モードを省略した入力はエンコードとして扱われます。
変換前に確認したいこと
HTMLエンティティを含む文字列を、読み取りやすい通常の文字列へ戻したり、HTMLで扱う形に変換したりするときに利用できます。入力するテキストと変換モードを組み合わせて使う仕組みで、モードを指定しない場合はエンコードが選ばれます。記号を含む文章の表示前後で、どの変換を選んだかを確認したい場面に向いています。
テキストとモードを選ぶ操作
- 変換対象の文字列を入力します。テキストを入力しなければ、空の文字列として扱われます。
- エンコードを実行する場合は、モードに
encodeを指定します。非空のテキストでこの値を使うと、HTMLのエスケープ処理が適用されます。 - デコードを実行する場合は、
encodeではないモード値を指定します。非空のテキストでは、その値がアンエスケープ処理へ進む条件になります。 - 入力内容とモードを見直してから実行し、成功した結果に含まれる変換後のテキストを確認します。空のテキストを送ったときは、変換処理をせず、空の変換後テキストと指定したモードを含む成功結果が返ります。
- 期待した方向と結果が異なる場合は、非空の入力になっているか、エンコードを選ぶ場面でモードを
encodeと正確に入力したかを確認します。デコードでは、encode以外の値が使われる点に注意してください。
返された内容を判断するポイント
非空の文字列では、モードの値が処理の分岐を決めます。encode という値だけがエスケープ側に進み、それ以外の値はアンエスケープ側に進むため、入力した語の大文字・小文字や綴りを意図と照合してください。空の入力で成功した結果は、変換後の内容が増減したことを示すものではありません。結果に表示されたモードも併せて確認すると、指定内容と処理対象を切り分けやすくなります。なお、ネットワークアクセスを使わないという契約は、保存方法や機密性まで示すものではありません。
使用例
Webページへ表示する前の商品説明をHTMLエンティティへ変換したい状況です。
商品説明に含まれる記号をHTMLで扱う形にしたい場面で、その文章を入力し、モードに encode を指定して実行します。
実行が成功し、変換後のテキストを含む結果を確認できます。
制限事項
- 空のテキストにはエンコードもデコードも適用されず、非空のテキストではモード値によって処理方向が決まります。
よくある間違い
- エンコードを選びたいのにモードへ
encode以外の値を入力すると、非空のテキストはアンエスケープ側で処理されます。エンコードが目的なら、モードをencodeに修正してから再実行してください。
よくある質問
テキストを入力せずに実行すると、どのような結果になりますか?
入力が空なら、エンコードもデコードも適用されません。実行は成功し、空の変換後テキストと指定したモードを含む結果になります。
デコードするときのモードはどのように指定しますか?
非空のテキストをデコードする場合は、モードに encode 以外の値を指定します。encode はエンコード側へ進む値なので、目的に合わせて分けてください。
この変換でネットワークアクセスは発生しますか?
ネットワークアクセスは使用しない契約です。ただし、その情報だけから、入力内容の保存、削除、機密性などを判断することはできません。