java字符串与十六进制互转,
js字符串与十六进制互转。
支持中文,应用场景如解决传递中文乱码。
由base64想到的base16,十六进制数字母不区分大小写。
思路:一个字节拆成两位十六进制数(一个字节8位,十六进制4位)。
附件提供实现代码,Base32也有一套。
public class Base16 {
public static String hex2Str(String theHex) {
char[] chars = theHex.toCharArray();
int len = chars.length / 2;
byte[] theByte = new byte[len];
for (int i = 0; i < len; i++) {
theByte[i] = Integer.decode("0X" + chars[i*2] + chars[i*2+1]).byteValue();
}
return new String(theByte);
}
public static String str2Hex(String theStr) {
int tmp;
String tmpStr;
byte[] bytes = theStr.getBytes();
StringBuffer result = new StringBuffer(bytes.length * 2);
for (int i = 0; i < bytes.length; i++) {
tmp = bytes[i];
if (tmp < 0) {
tmp += 256;
}
tmpStr = Integer.toHexString(tmp);
if (tmpStr.length() == 1) {
result.append('0');
}
result.append(tmpStr);
}
return result.toString();
}
public static void main(String[] argv) {
String a = "abcdef你好吗?";
String b = str2Hex(a);
String c = hex2Str(b);
System.out.println(a);
System.out.println(b);
System.out.println(c);
}
}
引用
http://any512.iteye.com/blog/116217
分享到:
相关推荐
功能丰富的十六进制数据界面:字节修复、修复管理、字节拷贝(字节、十六进制字符串、C、C++、C#、Rust、Python、Java和JavaScript数组、HTML自包含div等)。 字符串、十六进制搜索。 自定义C++类模式语言,支持对...
//十六进制 var charValue = String.fromCharCode(hex);//生成Unicode字符 var charCode = charValue.charCodeAt(0);//获取指定字符的十进制表示. var hexOri="0x"+charCode.toString(16);;//将int值转换为十六进制 ...
功能丰富的十六进制数据界面:字节修复、修复管理、字节拷贝(字节、十六进制字符串、C、C++、C#、Rust、Python、Java和JavaScript数组、HTML自包含div等)。字符串、十六进制搜索。自定义C++类模式语言,支持对文件...
JavaScript中,加密结果是`ArrayBuffer`对象,通常会转换成Base64或Hex字符串。 5. **密钥管理与安全性**:确保密钥的安全存储和传输至关重要,避免明文传输。Java可以通过KeyStore管理密钥,JavaScript中则可以...
十六进制字符串 C、C++、C#、Rust、Python、Java 和 JavaScript 数组 ASCII-Art 十六进制视图 HTML 自包含 div 字符串和十六进制搜索 多彩高亮 从开始、结束和当前光标位置转到 用于解析突出显示文件内容的自定义类 ...
十六进制字符串 C,C ++,C#,Rust,Python,Java和JavaScript数组 ASCII-Art十六进制视图 HTML自包含div 字符串和十六进制搜索 色彩鲜艳 从开始,结束和当前光标位置转到 自定义的类似于C ++的模式语言,用于突出...
本题目旨在测试应聘者对于基础数据结构与算法的理解程度,特别是进制转换与字符串处理方面的能力。题目要求实现一个N进制(2到35)的减法操作,这不仅涉及到了高级编程语言的基础应用,还要求能够灵活地处理不同进制...
标题《分享JavaScript与Java中MD5使用两个例子》中的知识点涉及了如何在JavaScript和Java语言中使用MD5加密算法,以及如何将字符串转换为MD5格式。MD5是一种广泛使用的密码散列函数,它可以产生一个128位的散列值...
1. 每个字节的值可以编码为三个字符,即一个等号“=”后跟两个十六进制数字(0-9或A-F),这表示该字节的数值。 2. 所有可打印的ASCII字符(十进制值范围为33到126)都可以直接用ASCII字符来表示,但等号“=”(十...
它专门为IntelliJ IDEA用户提供了快速转换和操作字符串的能力,包括将字符串转换为十六进制或二进制形式,以及对URL、HTML实体、Base64等编码格式进行编码和解码。这些功能的集成,使得开发者无需离开IDE就能完成...
MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,它能够将任意长度的信息映射为一个固定长度的摘要值,通常是32位的十六进制字符串。MD5在信息安全领域扮演着重要的角色,常用于数据校验、密码存储等...
2. **Md5Util**:MD5(Message-Digest Algorithm 5)是一种广泛使用的哈希函数,生成一个128位的哈希值,通常以32位十六进制字符串表示。此工具类用于计算字符串或文件的MD5哈希值,常用于数据校验和密码存储。 3. ...
在JavaScript中,将字符串(string)转换为数字(number)是常见的操作,主要涉及到三种方法:`Number()`、`parseInt()`和`parseFloat()`。这些函数在不同的场景下有着不同的用途和限制。 1. `Number()` 函数: `...
综上所述,Base64是一个实用的二进制数据与ASCII字符串之间的转换工具,虽然不是加密技术,但在很多场景下扮演着关键角色。了解并熟练运用Base64编码,有助于提升开发者的技能水平和解决问题的能力。
- 进制转换:有些语言允许指定字符串的基数(如二进制、八进制、十六进制),如 Python 的 `int(str, base)`。 - 数值溢出:如果字符串表示的数值超出了整型数据类型的范围,转换可能会失败或产生未定义的行为。 ...
`Number.prototype.toString()`方法接受一个参数,表示要转换的进制,例如,数字10调用`toString(2)`会得到二进制字符串"1010",`toString(8)`会得到八进制字符串"12",`toString(16)`则会得到十六进制字符串"a"。...
储存库 应用领域 ... 将字符串编码解码为base64格式或从base64格式解码。 Perl 使用自定义命令控制台应用程序。 项目模板 基本的 :开始。 :Java启动器。 :Java命令。 :Common Lisp启动器。
返回公钥和私钥对的十六进制字符串。 JavaScript版本 import { generateKeyPair } from '@fluree/crypto-utils' ; const { publicKey , privateKey } = generateKeyPair ( ) ; Node.js版本 对于Node.js,您将需要...