csv: 支持非 ASCII Unicode 方言字符
作者: coderabbitai[bot]创建于 2026年7月28日更新于 2026年8月24日
□ 总结
在CSV方言字符属性中添加对单个非ASCII Unicode代码点的支持,匹配CPython行为.
□ 理由
" csv " 方言选项,如 " delicter " 、 " quotechar " 和 " escapechar " 完全接受CPython中一个Unicode字符。 RustPython目前将这些属性作为"u8"存储在"crates/stdlib/src/csv.rs"中,因此字节范围外的有效单字符值被否决了(例如QQ).
□ 受影响地区
- `地平线/地平线/地平线/地平线/地平线'
- CSV方言解析、验证、阅读和写作配置
□ 需要更改
将只字节的方言字符表达和解析路径替换为保留完整Unicode代码点的表达方式,再通过CSV读取器和写作执行来传播支持. 保留拒绝空和多特征值的现有验证,同时准确报告转换/表示失败。
□ 接受标准
限定号 ' 、引号 ' 和`逃避号 ' 接受一个单一的非ASCII Unicode码点,如:-。- 空和多特征的字符串仍然根据CPython相容的行为拒绝。
- 读者和作家行为正确处理所支持的Unicode方言字符。
- 相关的RustPython CSV测试涵盖成功的非ASCII方言特征使用和无效长度。
□后链接
- PR#8402的后续行动:https://GitHub.com/RustPython/RustPython/pul/8402
- 审查讨论:https://GitHub.com/RustPython/RustPython/pul/8402#讨论 r3658464157
由@hyoinandout 请求.
内容来源: RustPython/RustPython