- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
根据 isascii() 联机帮助页:
http://linux.die.net/man/3/isascii
POSIX.1-2008 marks isascii() as obsolete, noting that it cannot be used portably in a localized application.
我不确定可移植性问题出在哪里。这个函数的一个非常简单的实现是:
int isascii(int ch) { return ch >= 0 && ch < 128; }
在哪些情况下上述实现不充分或不可移植?
谢谢
最佳答案
我想如果您的字符编码不使用专用于 ASCII 的低七位范围,它就不会工作。可能发生在一些多字节编码中,当给定的字节只是字符的一部分时。
例如,在 Shift-JIS 中,第二个字节可以从 0x40 开始,与 ASCII 重叠。即使在第一个字节中,也有一些细微的变化,例如 0x5C(货币符号而不是反斜杠)或 0x7E(某种斜杠而不是波浪号)。
我找到了这个 article有人解释了在他们自己的操作系统设计中不包含 POSIX 函数的原因:
This function is rather pointless. If we use a character encoding that wasn't ascii compatible, then it doesn't make sense. If we use a sane character encoding such as UTF-8, then you can simply check if the value is at most 127.
关于c++ - 为什么不推荐使用 isascii()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26030928/
根据 isascii() 联机帮助页: http://linux.die.net/man/3/isascii POSIX.1-2008 marks isascii() as obsolete, not
我正在使用 Windows 10 和 Pycharm IDE。.isascii() 在 google colab 上不起作用是否有原因?当我在 google colab 上尝试代码片段时,我得到: A
我正在通过 Cygwin 在 window 7 上构建 OpenOCD 并收到此消息 openocd-0.7.0/jimtcl/jim.c:3009: undefined reference to `
我是一名优秀的程序员,十分优秀!