Re2是否使用字符串大小或null终止
Does Re2 use string size or null termination?
标题就差不多了。如果一个标准的c++字符串与UTF-8字符没有零字节扫描终止在字符串的结束由它的大小定义?相反,如果字符串有一个零字节,扫描是停止在该字节,还是继续到字符串的整个长度?我看了Re2.h文件,它似乎没有解决这个问题。
包含UTF-8字符的std::string
不能有0字节的文本部分
(仅作为终止),因为UTF-8在任何地方都不允许0。
如果你使用的是c++ 11兼容的东西,一个终止的0是保证的
不管你用的是data()
还是c_str()
。数据是原始数据,所以…)。
见http://en.cppreference.com/w/cpp/string/basic_string/data
或标准(21.4.7.1/1等)。
=>字符串的处理将在0
到Re2的接口似乎使用了std::string
,这几乎当然意味着它使用了开头和结尾字符串,空字符和其他字符一样。(毕竟,它们是用Unicode和UTF-8定义的。)的当然,' '在类别控制字符中,所以它不会匹配像"pL"这样的东西(它匹配一个字母)。但它应该匹配"pC"。当然,'u0000'
和其他null字符的表示
相关文章:
- 如何告诉字符串流忽略null终止字符
- 是否有一种安全的方法可以断言字符串视图是否以 null 终止?
- 自动截断和 null 终止缓冲区溢出中的字符串缓冲区
- 用户定义的字符串文字为字符串null终止
- 为什么具有单独字符的字符数组不像字符串文字那样以 null 终止符结尾?
- 我正在尝试计算 char 数组中的内容,直到 null 终止,但每次编译时,我都会得到一个比我的数组大的数字
- Node-ffi 绑定到 NULL 终止的 C 字符串数组,但得到“分段错误:11”
- 为什么一个指向char的C++指针在缺少null终止符的情况下充当字符串
- 为 fstream 添加 NULL 终止符
- Winsock2 tcp/ip-一些数据包被忽略,可能是由于前一个数据包的null终止符
- 解密字符串末尾的 NULL 终止符需要什么?
- 字符串中的Null终止
- 将 char 数组作为参数传递时,为什么索引中不包含 null 终止符?
- Delphi - 从 dll 调用转换(读取)C++ NULL 终止数组
- 如何捕获不包含 null 终止符的字符串的错误
- C++字符数组null终止符位置
- 字符串不是null终止错误
- 使用字符数组(非null终止)c/c++写入stdout
- 初始化char数组以容纳非null终止的字符串
- C++字符数组正确移动null终止符