list1 = [1,2,3,4]
Run Code Online (Sandbox Code Playgroud)
如果我list1如上所示,最后一个值的索引是3,但有没有办法,如果我说list1[4],它会成为list1[0]?
我目前正在研究 Vernam 密码程序,其中很大一部分是将明文转换为二进制的能力。我研究了如何做到这一点,我发现Integer.toBinaryString()在将明文的每个单独字符转换为二进制时效果最好。对于大多数字符,此转换有效,但是,我发现了导致我在转换中遇到错误的实例。
例如,每当我运行此代码时:System.out.println(Integer.toBinaryString('€'));我希望输出为10000000,但是,我却得到了10000010101100输出。根据这个 ASCII 表,我知道扩展的 ASCII 字符可以有一些值的变化,但是,这个表中的大多数字符在扩展的 ASCII 字符部分是准确的,欧元在 ASCII 中由 128 表示。
为什么要Integer.toBinaryString('€')回来10000010101100?有没有办法解决这个问题?