我知道这有点老了,但是任何偶然发现这个页面的人都应该知道\n和\r\n之间的区别。
\r\n表示回车换行符,而\n则表示换行符。一般来说,这两者在视觉上几乎没有什么区别。
将字符串创建为.txt文件,然后尝试在记事本中打开(正常的,不是notepad++),你会注意到它们之间的差异。
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”的效果(在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中,然后再次粘贴到NotePad中-尽管这样只会生成CRLF)。
这可能会导致一些读取这些文件的功能潜在地无法正常运行(给出的示例行来自GP处方数据-英格兰。该文件已从CRLF行末更改为LF行末)。 这使得一个SSIS作业停止运行,并因无法读取LF行末而失败。
行尾信息来源:
https://en.wikipedia.org/wiki/Newline#Representations_in_different_character_encoding_specifications
希望这能帮助将来需要的人 :) CRLF =基于Windows,LF或CF来自Unix based systems(例如Linux,MacOS等)。