#8408·RustPython

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方言特征使用和无效长度。

□后链接

由@hyoinandout 请求.

内容来源: RustPython/RustPython