[apache commons codec]Problem with the BinaryCodec class

2021-03-24 11:05:19 +08:00
 JinTianYi456
import org.apache.commons.codec.binary.BinaryCodec;

System.out.println(BinaryCodec.toAsciiString(new byte[] { 'a' }));
// output 01100001
System.out.println(BinaryCodec.toAsciiString(new byte[] { 'b' }));
// output 01100010
System.out.println(BinaryCodec.toAsciiString(new byte[] { 'a', 'b' }));
// output 0110001001100001(ba), why not 0110000101100010(ab)?
  // 为什么设计成倒序呢?
984 次点击
所在节点    Java
4 条回复
JinTianYi456
2021-03-25 11:38:46 +08:00
self-up-1
FucUrFrd
2021-03-25 12:42:16 +08:00
@JinTianYi456

小同志您好,这是正序,这是预期的
翻开人大附小的 c 语言竞赛课本,01 表达方式左边是最高位

用高级知识,是 little endian, 如果用你的答案就是 big endian, 任何高级技术要回归本源才能获得真谛
JinTianYi456
2021-03-25 15:55:17 +08:00
@FucUrFrd #2 测试之后,并不是你说的这回事,请看第 1 条附言
JinTianYi456
2021-03-25 16:02:13 +08:00
或许是这样理解的: BinaryCodec 是把整一串已 big-endian 来排的. Soga :dog (不能以字符编码的单字符 BE 来理解的)

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/764556

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX