java - 如何编码字符串以替换所有特殊字符

标签 java android

我有一个包含特殊字符的字符串。但是我必须将字符串转换为没有任何特殊字符的字符串,所以我使用了 Base64 但在 Base64 中我们使用等于符号 (=),这是一个特殊字符。但我想将字符串转换为只有字母数字字母的字符串。我也不能删除特殊字符,我必须替换所有特殊字符以保持两个不同字符串之间的唯一性。如何实现这一目标,哪种编码可以帮助我实现这一目标?

最佳答案

最简单的选择是使用 UTF-8 将文本编码为二进制,然后将二进制转换回十六进制文本(每个字节两个字符)。它不会非常有效,但它只是字母数字。

您可以改用 base32 来提高效率,但这可能需要更多的工作,除非您可以找到开箱即用的库来支持它。 (执行十六进制编码的库非常常见。)

关于java - 如何编码字符串以替换所有特殊字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8382060/

相关文章:

java - Appcelerator Titan 为我的 Android 项目构建 java 文件时崩溃

java - 我的 jsp 中的标签库错误

java - 使用 Java Socket 与 Apache HttpClient 进行异步实时 HTTP 数据收集

android - 首次登录后,电子邮件注册用户 displayName 不会显示在导航标题中 (Firebase)

android - 从 fragment 按钮单击( Intent )开始 Activity 会抛出空白屏幕

java - Windows 更新后 Eclipse 失去 Android 支持

android - 和引擎多边形

java - 如何解决onRewardedAdClosed()后admob错误?

java - JDBCResourceDAO 无法删除 id 的资源 - WSO2 API Manager

android - 在手机上构建游戏。原生还是引擎?