数据中的换行和回车:0D 0A

时间:2012-01-24 14:14:45

标签: mysql carriage-return latin1

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

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

谢谢!

3 个答案:

答案 0 :(得分:2)

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

是否有充分理由保留0D?

我想你应该自己回答这个问题。 您可以从数据中删除'\ r',但要确保使用此数据的程序理解'\ n'表示行结束非常好。在大多数情况下,它会被考虑在内,但请查看以防万一。

答案 1 :(得分:1)

CR / LF组合是Windows的一个东西。 * NIX操作系统只使用LF。因此,根据使用您的数据的应用程序,您需要决定是否需要过滤掉CR。有关详细信息,请参阅Wikipedia entry on newline

答案 2 :(得分: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字符。