ubyte[]
テキスト (8 ビットまたはstring
) を対応する HTMLにエンコードする最良の方法を見つけようとしています。
これまでの私の提案は、ルックアップ テーブルを使用して 8 ビット文字をマッピングすることです。
string[256] lutLatin1ToHTML;
lutLatin1ToXML[0x22] = """;
lutLatin1ToXML[0x26] = "&";
...
関数を使用して特別な意味を持つ HTML
pure string toHTML(in string src,
ref in string[256] lut) {
return src.map!(a => (lut[a] ? lut[a] : new string(a))).reduce!((a, b) => a ~ b) ;
}
「ubyte? (翻訳なしの場合)。
私は試した
writeln(new string('a'));
しかし、それはゴミを印刷し、その理由はわかりません。
HTML エンコーディングの詳細については、https://en.wikipedia.org/wiki/Character_entity_referenceを参照してください。