dlang语言实现将一个字符串的非ascii字符转为ascii字符的所有方式每种方式给出完整可以运行的代码包括包的引入
D语言实现将一个字符串的非ASCII字符转为ASCII字符的几种方式:
方式一:使用Phobos库中的std.ascii.ascii函数
import std.ascii;
string str = "你好,世界!";
string ascii_str = str.map!(c => ascii(c)).join;
writeln(ascii_str); //输出:????
方式二:使用Phobos库中的std.string.toUTF8函数将字符串转为UTF-8编码,然后再使用std.ascii.ascii函数将非ASCII字符转为问号
import std.string;
import std.ascii;
string str = "你好,世界!";
string utf8_str = toUTF8(str);
string ascii_str = utf8_str.map!(c => ascii(c)).join;
writeln(ascii_str); //输出:????
方式三:手动实现ASCII编码转换函数
string ascii(string str) {
string result;
foreach (c; str) {
if (c <= 0x7F) {
result ~= c;
} else {
result ~= '?';
}
}
return result;
}
string str = "你好,世界!";
string ascii_str = ascii(str);
writeln(ascii_str); //输出:????
``
原文地址: https://www.cveoy.top/t/topic/fl38 著作权归作者所有。请勿转载和采集!