我试图找出将文本(8 位ubyte[]
或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