问题标签 [apache-commons-codec]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
android - Apache Commons Codec with Android:找不到方法
今天我尝试在我的 Android 应用程序中包含 apache.commons.codec 包,但无法运行。Android 找不到方法 ord.apache.commons.codec.binary.* 并在 DDMS 中输出以下错误
01-12 08:41:48.161: 错误/dalvikvm(457): 找不到方法 org.apache.commons.codec.binary.Base64.encodeBase64URLSafeString,引用自方法 com.dqminh.app.util.Util.sendRequest
01-12 08:41:48.161: WARN/dalvikvm(457): VFY: 无法解析静态方法 10146: Lorg/apache/commons/codec/binary/Base64;.encodeBase64URLSafeString ([B)Ljava/lang/String;
01-12 08:41:48.161: WARN/dalvikvm(457): VFY: 在 0x0004 拒绝操作码 0x71
关于如何解决这个问题的任何线索?非常感谢。
java - 公共 http 客户端 - 协商时的 kerberos 令牌具有 \r\n(回车换行符)字符
我正在尝试使用 jakarta commons http 客户端。进行 kerberos 身份验证以与服务器通信。身份验证总是失败。在深入挖掘时,我发现 kerberos 令牌标头中有回车换行符,这是问题的根本原因。为什么它有 \r\n 字符,为什么这是一个问题?
java - 我有一个用 Java 编写的 Netbeans 项目,它使用公共编解码器。我得到下一个错误
有什么问题(包 org.apache.commons.codec.binary.Base64 不存在。)?
java - Java String base64编码算法匹配openssl实现
作为尝试使用 Google Search Appliance 配置 SAML AuthN 的一部分,我需要将我的响应转换为 base64。为了概念验证,我只是使用 IntelliJ IDEA 中的调试器将字符串替换为 openssl 命令生成的版本:
现在我需要让一个版本在没有我直接干预的情况下工作。我正在使用Apache commons base64编解码器库(v. 1.4),字符集 UTF-8,lineLength 64,代码如下所示:
结果非常接近我的需要。如果我在 apache 库执行之前对字符串进行 openssl 加密(在第 3 行执行之前复制 signedSamlResponse),然后运行 diff 两个结果,它们几乎相同。唯一的区别是最后一行中的倒数第二个字符,这种区别在我所有的尝试中都是一致的。
OpenSSL 版本:
阿帕奇版本:
为了使两个结果匹配,我需要对字节数组或它来自的字符串做什么?
java - 为什么 apache-commons lib 将空间编码为 + 而不是 %20?
我正在使用URLCodec
Apache Commons Codec对 URL 进行编码,但它将空间编码为+
NOT%20
为什么?解决方案是什么?
android - 在 Android 应用程序中使用 commonc 编解码器的 NoSuchMethodError
我按照此处的说明在 Eclipse 中为我的 Android 应用程序添加了来自 apache.org (commons-codec-1.4.jar) 的公共编解码器。代码中没有错误。但是当我运行应用程序并调用使用编解码器的函数时,应用程序停止并需要前关闭。
在 logCat 中说:
Android 运行时:java.lang.NoSuchMethodError:org.apache.commons.codec.binary.Base64.encodeBase64String
代码行是:String tmpStr = Base64.encodeBase64String(msg); //msg 是一个字节[]
该应用程序适用于最低 SDK 版本 = 7 (Android 2.1),所以我不能使用Android Base64
知道如何解决这个问题吗?
java - Apache Commons 十六进制编码错误
我正在尝试使用org.apache.commons.codec.binary.Hex对字符串值进行编码和解码:
例如:
但是,这并没有给我一个十六进制输出,而是类似于此的输出:
[C@596d444a
任何想法为什么会发生这种情况?
java - 无法让 Base64.decodeBase64 工作(通用编解码器)
我不能说这里出了什么问题。我已经尝试了所有可能的组合。设置字符集,toString,没有 toString。编码工作完美。我可以将该数字输入网络解码器并每次都获得正确的值。只是无法让它发挥作用。
输出:
如果我使用 for 循环并手动将字符添加到字符串中,我可以使它工作。但我认为 toString 是为我做的吗?
java - 字节数组的十六进制编码形式与转换为字节数组的相同字节数组“对象”不同。为什么?
这个问题是出于好奇而不是任何迫切需要而提出的。我找到了一些将对象转换为字节数组的代码(我当时认为我需要它)。
使用 commons-codec 我注意到纯字节数组的编码十六进制字符串表示与我通过下面的“toByteArray”方法传递字节数组时得到的不同。我注意到较长的版本以较短的十六进制字符串表示形式结束。
本能地这似乎不对,为什么会发生这种情况?
通过“toByteArray”转换方法找到的额外字节代表什么?
我猜这与编码有关?
非常感谢,我希望这不是一个新手问题。
结果
537461636b6f766572666c6f77 aced0005757200025b42acf317f8060854e002000078700000000d537461636b6f766572666c6f77
java - Java中BASE64类的编码/解码算法效率如何?
我将使用一种算法对从 XML 文件中检索到的可变长度但非常长的字符串字段进行编码,然后该编码数据应保存在数据库中。
稍后,当我收到第二个文件时,我需要从数据库(以前存储的)中获取编码数据,然后对其进行解码并使用新数据进行验证以进行重复。
我试过org.apache.commons.codec.binary.Base64
类它有2种方法:
encodeBase64(Byte[] barray)
decodeBase64(String str)
它工作得很好,解决了我的问题。但它将 55 个字符字符串转换为 6 个字符字符串。
所以我想知道这些算法是否会在任何情况下将 2 个非常大且只有 1 个字符不匹配(例如)的字符串编码到相同的编码字节数组中。
我不太了解这Base64
门课,但如果有人可以帮助我,那将非常有帮助。
如果您可以建议任何其他使大字符串短于固定长度并解决我的目的的算法,我将很乐意使用它。
提前致谢。