当前位置: 技术问答>linux和unix
socket中,从client端(用java编写的)传到server端(用c编写的)的字符串为何总多一个ASCII码为10的字符呀?
来源: 互联网 发布时间:2015-07-19
本文导语: 例如从client端传"ABC",在server端收到的长度是5, 内容分别是'A'、'B'、'C'、一个ASCII码为13的字符和一个ASCII码为10的字符。 谁能解释一下? | linux 和 windows 下的换行符是不一样的 通常默认的...
例如从client端传"ABC",在server端收到的长度是5,
内容分别是'A'、'B'、'C'、一个ASCII码为13的字符和一个ASCII码为10的字符。
谁能解释一下?
内容分别是'A'、'B'、'C'、一个ASCII码为13的字符和一个ASCII码为10的字符。
谁能解释一下?
|
linux 和 windows 下的换行符是不一样的
通常默认的,linux 只要一个 n 就可以了
而windows下要 rn
而在Mac下,有可能只有 r
可能讲反了,你再查下资料吧,有可能是这个原因哦
通常默认的,linux 只要一个 n 就可以了
而windows下要 rn
而在Mac下,有可能只有 r
可能讲反了,你再查下资料吧,有可能是这个原因哦
|
ASCII 中 0x0D 是回车 'r' , 0x0A 是换行 'n',
在多行的文本编辑器中每一行结束后面都有 'rn'的
这个一般不用手工处理,估计你传送的是多行文本编辑器中的内容
在 java 里面好像是叫 TextArea 吧,记不清楚了
有关的资料你可以查阅一些 C 语言的教材,一般都有的,不过这个没有
比如还有't'是0x09,退格是0x08(好像,记得不是十分清楚)等等
在多行的文本编辑器中每一行结束后面都有 'rn'的
这个一般不用手工处理,估计你传送的是多行文本编辑器中的内容
在 java 里面好像是叫 TextArea 吧,记不清楚了
有关的资料你可以查阅一些 C 语言的教材,一般都有的,不过这个没有
比如还有't'是0x09,退格是0x08(好像,记得不是十分清楚)等等
|
rn ??
|
0x0D 0x0A 相当于n
|
可能是java到c的时候表示结束的方式不一样
具体可以看一下《unix下的c语言高级编程》
国外的书,很好!书名我可能记得不十分清楚了~~~~~~~
具体可以看一下《unix下的c语言高级编程》
国外的书,很好!书名我可能记得不十分清楚了~~~~~~~
|
The char type of java is wide char type, its length is 16 bits, and one of ASCII is 8 bits.
You can try to use byte type in java, or wchar_t in c.
You can try to use byte type in java, or wchar_t in c.
|
rn
|
你client端是怎么传的
读取文本文件的一行传送? java里文本文件的一行包括结束符吗?
使用string 对象传送?
读取文本文件的一行传送? java里文本文件的一行包括结束符吗?
使用string 对象传送?