1

我正在编写一个数据清理脚本(MS Smart Quotes 等),它将在以 Latin1 编码的 mySQL 表上运行。在扫描数据时,我注意到换行符处有大量 0D 0A。

由于我正在清理数据,我是否也应该通过删除它们来解决所有 0D 问题?是否有充分的理由再保留 0D(回车)?

谢谢!

4

3 回答 3

3

0D0A (\r\n) 和 0A (\n) 是行终止符;\r\n 主要用于 OS Windows,\n 用于 unix 系统。

是否有充分的理由继续保持 0D?

我认为你应该自己回答这个问题。您可以从数据中删除 '\r',但要确保将使用此数据的程序理解 '\n' 意味着行尾非常好。在大多数情况下,它会被考虑在内,但以防万一。

于 2012-01-24T14:44:19.827 回答
1

CR/LF 组合是 Windows 的东西。*NIX 操作系统只使用 LF。因此,根据使用您的数据的应用程序,您需要决定是否要/需要过滤掉 CR。有关更多信息,请参阅换行符上的 Wikipedia 条目。

于 2012-01-24T14:44:38.070 回答
0

Python 的 readline() 返回一行后跟 \O12。\O 表示八进制。12 是十进制 10 的八进制。您可以在 ASCII 表中看到 Dec 10 是 NL 或 LF。换行或换行。

unix 文本或脚本文件中的行尾标准。

http://www.asciitable.com/

所以请注意 len() 将包括 NL,除非您尝试读取 EOF,否则 len() 永远不会为零。

因此,如果您将 Python readline() 获得的任何文本行插入到 mysql 表中,它将默认包含 NL 字符,最后。

于 2016-02-11T04:42:55.530 回答