String str = new String(byte[] byteArray);
Convert a byte array to a Hex stringTag(s):
The simple way
public static String getHexString(byte[] b) throws Exception {
String result = "";
for (int i=0; i < b.length; i++) {
result +=
Integer.toString( ( b[i] & 0xff ) + 0x100, 16).substring( 1 );
}
return result;
}
A faster way
import java.io.UnsupportedEncodingException;
public class StringUtils {
static final byte[] HEX_CHAR_TABLE = {
(byte)'0', (byte)'1', (byte)'2', (byte)'3',
(byte)'4', (byte)'5', (byte)'6', (byte)'7',
(byte)'8', (byte)'9', (byte)'a', (byte)'b',
(byte)'c', (byte)'d', (byte)'e', (byte)'f'
};
public static String getHexString(byte[] raw)
throws UnsupportedEncodingException
{
byte[] hex = new byte[2 * raw.length];
int index = 0;
for (byte b : raw) {
int v = b & 0xFF;
hex[index++] = HEX_CHAR_TABLE[v >>> 4];
hex[index++] = HEX_CHAR_TABLE[v & 0xF];
}
return new String(hex, "ASCII");
}
public static void main(String args[]) throws Exception{
byte[] byteArray = {
(byte)255, (byte)254, (byte)253,
(byte)252, (byte)251, (byte)250
};
System.out.println(StringUtils.getHexString(byteArray));
/*
* output :
* fffefdfcfbfa
*/
}
}
A more elegant (based on a suggestion by Lew on usenet-cljp)
static final String HEXES = "0123456789ABCDEF";
public static String getHex( byte [] raw ) {
if ( raw == null ) {
return null;
}
final StringBuilder hex = new StringBuilder( 2 * raw.length );
for ( final byte b : raw ) {
hex.append(HEXES.charAt((b & 0xF0) >> 4))
.append(HEXES.charAt((b & 0x0F)));
}
return hex.toString();
}
<!-- HOWTO content -->
分享到:
相关推荐
public static byte[] GetBytes(string hexString, out int discarded) { discarded = 0; string newString = ""; char c; // remove all none A-F, 0-9, characters for (int i = 0; i < hexString.Length; i+...
String resultString = byteArrayToHex(results); ``` 这里使用`byteArrayToHex()`方法将字节数组转换为十六进制字符串。 #### 四、密码验证功能 代码还提供了一个`verificationPassword(String password, String...
### Python中hexstring、list与str之间的转换方法详解 在Python编程中,经常需要处理不同格式的数据,尤其是在涉及网络通信、加密解密等场景时,数据格式的转换尤为重要。本文将详细介绍如何在Python中实现hex...
// Convert byte array to hex string StringBuilder sb = new StringBuilder(); for (byte b : md5Bytes) { sb.append(String.format("%02x", b & 0xff)); } return sb.toString(); } catch ...
bytesArray = binascii.unhexlify(hexString) ``` 在实际开发中,我们可能需要处理大量数据,这时性能优化就显得尤为重要。例如,可以使用缓冲区(Buffer)来提高转换效率。在Java中,可以使用`java.nio`包中的`...
private static byte[] ConcatenateArrays(byte[] array1, byte[] array2) { byte[] result = new byte[array1.Length + array2.Length]; Buffer.BlockCopy(array1, 0, result, 0, array1.Length); Buffer....
for (byte b : encoded.array()) { hexString.append(String.format("%02x", b & 0xff)); } return hexString.toString(); } ``` 在这个例子中,我们使用了UTF-8字符集来编码字符串,这样可以处理包括Unicode...
public static String bytes2Hex(byte[] data) { if (data==null) { return null; } else { int len = data.length; String str = ""; for (int i=0; i; i++) { if ((data[i]&0xFF)) str = str + "0" + ...
' Convert the byte array to hexadecimal string Dim hex As New StringBuilder(hashBytes.Length * 2) For Each byteVal As Byte In hashBytes hex.AppendFormat("{0:x2}", byteVal) Next Return hex....
public static String byteArrayToHex(byte[] byteArray) { // 首先初始化一个字符数组,用来存放每个16进制字符 char[] hexDigits = {'0','1','2','3','4','5','6','7','8','9', 'A','B','C','D','E','F' }; //...
同时,类型转换可以通过`toXxx`方法实现,例如`intValue.toLong()`将`Int`转换为`Long`。 在比较方面,Kotlin区分了`==`和`===`。`==`用于值比较,而`===`用于引用比较。例如: ```kotlin val a = 10000 val b = ...
在Java中,可以使用`String.getBytes()`和`new String(byte[], charset)`;在JavaScript中,可以使用`Buffer`对象的`toString('hex')`和`from`方法;在C++中,可以利用`std::stringstream`和`std::hex`配合进行转换...
byte_array = binascii.unhexlify(hex_string) ``` 相反,字节数组转换为16进制字符串则是将每个字节拆分成两个4位的二进制数,然后转换为16进制表示。在Python中,可以用`binascii`库的`hexlify`函数完成: ```...
String2Byte(dataStr As String, [ChatSet As String]) As Array(Byte) getFileBytes(fileName) As Array(Byte) 3.8 文件拆分和合并 ---------------------------------------------------------------------------...
const uint8Array = new Uint8Array(hexString.match(/.{1,2}/g).map(byte => parseInt(byte, 16))); const base64Str = btoa(String.fromCharCode(...uint8Array)); ``` 这些代码片段展示了如何将16进制字符串...
function StrToHex(const S: string): Byte; var P: PChar; begin P := PChar(S); Result := StrToInt(P); end; procedure SendToSerial(const HexData: string; const SerialPort: TSerialPort); var ...
String hexStr = Integer.toHexString(num); // 转换为十六进制字符串 ``` #### 语法结构与修饰符 Java 的语法结构清晰严谨,主要包括类定义、方法定义、变量声明等内容。同时,Java 提供了一些修饰符来控制访问...
public static String toHexString(byte[] buf) { char[] chars = new char[2 * buf.length]; for (int i = 0; i ; ++i) { chars[2 * i] = HEX_CHARS[(buf[i] & 0xF0) >>> 4]; chars[2 * i + 1] = HEX_CHARS...
byte_array = hex_to_bytes(hex_string) ``` 在这个Python代码中,`hex_to_bytes`函数接收一个带有空格的十六进制字符串,移除空格后使用`unhexlify`进行转换。 总之,这个文件涉及的串口通信和十六进制数据转换在...
'Convert the byte array to a string. DevicePathName = CStr(DetailDataBuffer()) 'Convert to Unicode. DevicePathName = StrConv(DevicePathName, vbUnicode) 'Strip cbSize (4 bytes) from the beginning....