gpt4 book ai didi

asp.net - 如何在 ASP.NET 中转换来自国际 PC 的发布的 "english"字符? (ex 2205)

转载 作者:行者123 更新时间:2023-12-01 09:42:28 26 4
gpt4 key购买 nike

我有一个 WebForm 搜索页面,它偶尔会受到国际访问者的点击。当他们输入文本时,它似乎是纯 ASCII a-z,0-9,但它们以粗体打印,我的“是这个文本”逻辑无法处理输入。在 ASP.NET 中有什么简单的方法可以将等同于 A-Z、0-9 的 Unicode 字符转换为纯旧文本?

最佳答案

你得到了所谓的字符的“全角形式”。在 Unicode 中,它们在代码点 U+FF01 到 U+FF5E 处进行编码。要从它们那里获取 ASCII 代码点(U+0021 到 U+007E),您必须获取它们的代码点并从中减去 (0xFF01 - 0x0021)。

ASCII:http://unicode.org/charts/PDF/U0000.pdf
全角表格:http://unicode.org/charts/PDF/UFF00.pdf

我不会说 ASP.NET,但在 Java 中,代码将如下所示:

String decodeFullwidth(String s) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < s.length(); i++) {
char c = s.charAt(i);
if (0xFF01 <= c && c <= 0xFF5E) {
sb.append((char) (c - (0xFF01 - 0x0021)));
} else {
sb.append(c);
}
}
return sb.toString();
}

关于asp.net - 如何在 ASP.NET 中转换来自国际 PC 的发布的 "english"字符? (ex 2205),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3180692/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com