boost :: spirit断言 升压::精神:: char_class :: ASCII ::字符isalnum()
传递ascci字符> 127.
我将所有私有变量从std :: string更改为
typedef std::basic_string<unsigned char, std::char_traits<unsigned char>, std::allocator<unsigned char> >
u_string;
但仍然在内部使用std:.string。我该怎么办?
答案 0 :(得分:3)
解决方案非常简单:
而不是
using namespace boost::spirit::ascii;
我现在用
using namespace boost::spirit::iso8859_1;
它识别iso8859字符集中的所有字符。
答案 1 :(得分:1)
问题当然是127以上没有ASCII字符。字节= 8位的解释比这更新。
如果您使用ISO8859-1或UTF-8作为字符编码,则应正确配置编译器。这个选项被称为“默认字符无符号”或类似的东西,以反映ISO-8859使用高于127的字符值这一事实。