我正在为 Android 编写一个网络应用程序。根据协议规范,每行的结尾必须是 CR/LF 组合。虽然我用自己的字符串生成它没有问题,但有时我将不得不处理用户输入并转换行尾。
我在内部存储 EOL 并不重要,只要它作为 CR/LF 通过线路发送即可;如果最简单的方法是在它进入网络时更改它,那没关系。
无论我的字符串在内存中是什么,有什么简单有效的方法可以确保我的所有网络输出都以 CR/LF 结尾?
我正在为 Android 编写一个网络应用程序。根据协议规范,每行的结尾必须是 CR/LF 组合。虽然我用自己的字符串生成它没有问题,但有时我将不得不处理用户输入并转换行尾。
我在内部存储 EOL 并不重要,只要它作为 CR/LF 通过线路发送即可;如果最简单的方法是在它进入网络时更改它,那没关系。
无论我的字符串在内存中是什么,有什么简单有效的方法可以确保我的所有网络输出都以 CR/LF 结尾?
what's an efficient way to ensure that my output has a specific EOL character?
Normally when you read lines of text, it doesn't include the original EOL characters
When you write the lines, write the EOL character(s) you want instead of using something like println
If you have a String in memory which contains unknown EOL characters you can use
s = s.replaceAll("(\r\n|\r|\n)", "\r\n");