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); //输出:????
``
dlang语言实现将一个字符串的非ascii字符转为ascii字符的所有方式每种方式给出完整可以运行的代码包括包的引入

原文地址: https://www.cveoy.top/t/topic/fl38 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录