如何检测C++字符数组中是否存在扩展ASCII值(128到255)。
发布于 2009-03-06 10:18:32
请记住,没有扩展ASCII这回事。ASCII过去和现在仅定义在0和127之间。上面的所有内容要么无效,要么需要使用ASCII以外的已定义编码(例如ISO-8859-1)。
请阅读The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)。
除此之外:迭代它并检查任何大于127的值(或者在使用带符号的char时小于0)有什么问题?
发布于 2009-03-06 11:04:36
Char可以是有符号的,也可以是无符号的。不过,这并不重要。实际上,您希望检查每个字符是否为有效的ASCII。这是一个肯定的、明确的检查。您只需检查每个字符是否同时为>=0和<= 127。其他任何值(无论是正的还是负的,“扩展ASCII”或UTF-8)都是无效的。
发布于 2012-02-08 07:27:44
不再有人使用isascii了吗?
char c = (char) 200;
if (isascii(c))
{
cout << "it's ascii!" << endl;
}
else
{
cout << "it's not ascii!" << endl;
}https://stackoverflow.com/questions/618332
复制相似问题