我知道这有点老了,但任何偶然发现此页面的人都应该知道 \n 和 \r\n 之间存在区别。
\r\n 给出 CRLF 行尾,\n 给出 LF 行尾字符。一般来说,眼睛的差异很小。
从字符串创建一个.txt,然后尝试在记事本中打开(正常不是记事本++),你会注意到不同之处
SHA,PCT,PRACTICE,BNF CODE,BNF NAME,ITEMS,NIC,ACT COST,QUANTITY,PERIOD
Q44,01C,N81002,0101021B0AAALAL,Sod Algin/Pot Bicarb_Susp S/F,3,20.48,19.05,2000,201901
Q44,01C,N81002,0101021B0AAAPAP,Sod Alginate/Pot Bicarb_Tab Chble 500mg,1,3.07,2.86,60,201901
上面是使用“CRLF”,下面是“LF only”的样子(LF 显示的地方有一个看不到的字符)。
SHA,PCT,PRACTICE,BNF CODE,BNF NAME,ITEMS,NIC,ACT COST,QUANTITY,PERIODQ44,01C,N81002,0101021B0AAALAL,Sod Algin/Pot Bicarb_Susp S/F,3,20.48,19.05,2000,201901Q44,01C,N81002,0101021B0AAAPAP,Sod Alginate/Pot Bicarb_Tab Chble 500mg,1,3.07,2.86,60,201901
如果需要更正行尾并且文件足够小,您可以在 NotePad++ 中更改行尾(或粘贴到 word 中然后再回到记事本中 - 尽管这只会生成 CRLF)。
这可能会导致读取这些文件的某些函数可能不再起作用(给出的示例行来自 GP Prescribing data - England。文件已从 CRLF 行结尾更改为 LF 行结尾)。这停止了 SSIS 作业的运行并因无法读取 LF 行结尾而失败。
行尾信息来源:
https ://en.wikipedia.org/wiki/Newline#Representations_in_different_character_encoding_specifications
希望这对未来的人有所帮助:) CRLF = 基于 Windows,LF 或 CF 来自基于 Unix 的系统(Linux、MacOS 等)