【问题标题】:convert a string into the binary 64-bit block将字符串转换为二进制 64 位块
【发布时间】:2012-09-17 15:43:24
【问题描述】:

我想将一个字符串转换成二进制 64 位块 就像如果你输入字符串 testing 123 那么输出必须是这个与 64 位块的二进制等价物。如果任何小于 64 位的块比附加一些随机位到它。

【问题讨论】:

  • 您需要详细说明“二进制等价物”的含义。
  • 您在寻找base 64 encoding吗?
  • 您是否建议使用 UNICODE 等效项?
  • 字符串总是数字吗?每个字符需要多少位?字符串总是 0-9,a-z 吗?你可以对字符串的内容有什么假设?
  • @PeterLawrey 我认为他的示例输入是“测试 123”。

标签: java


【解决方案1】:

apache-commons 中的 net 包包含一个名为 Base64 的类,它有一个方法 decode() 似乎可以满足您的需求:

byte[]  decode(String pArray)
      Decodes a String containing containing characters in the Base64 alphabet.

这是 API 的链接:

http://commons.apache.org/net/api-3.1/org/apache/commons/net/util/Base64.html

这个库的maven依赖是:

    <dependency>
        <groupId>commons-net</groupId>
        <artifactId>commons-net</artifactId>
        <version>3.1</version>
    </dependency>

【讨论】:

  • 这是正确的想法,但需要 66 位来编码 11 个字符串,例如 testing 123 BTW:base 64 不允许空格。
  • 啊,我以为他的意思是:如果你输入字符串“testing”,然后输入字符串“123”。在澄清这一点之前,我会暂时留下我的答案。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-24
  • 2019-03-14
  • 1970-01-01
相关资源
最近更新 更多