`
zhengjun147
  • 浏览: 14593 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

char int byte

 
阅读更多
public static void main(String[] args) {
//String t = encode("15013020645");
byte[] bs = hexToBytes("683133393838383833333333010000B516");
String tt = hexByteToStr(bs);
System.out.println(tt);
}

public static String hexToStr(String hexValue) {
    String hex = "0123456789ABCDEF";
    char[] hexs = hexValue.toCharArray();
    byte[] bytes = new byte[hexValue.length() / 2];
    int n;
    for (int i = 0; i < bytes.length; i++) {
        n = hex.indexOf(hexs[2 * i]) * 16;
        n += hex.indexOf(hexs[2 * i + 1]);
        bytes[i] = (byte) (n & 0xff);
    }
    return new String(bytes);
}

public static byte[] hexToBytes(String hexValue) {   
String hex = "0123456789ABCDEF";
if (null == hexValue || "".equals(hexValue.trim())) {
return new byte[0];
}
hexValue = hexValue.toUpperCase();
int length = hexValue.length() / 2;
char[] hexChars = hexValue.toCharArray();
byte[] bs = new byte[length];
for (int i = 0; i < length; i++) {
int pos = i * 2;
bs[i] = (byte) (hex.indexOf(hexChars[pos]) << 4 | hex.indexOf(hexChars[pos + 1]));
}
return bs;   
  }   


public static String hexByteToStr(byte[] bs){
return new String(bs);
}








public static String strToHex(String value) {
String hex = "0123456789ABCDEF";
byte[] bytes = value.getBytes();
StringBuilder builder = new StringBuilder(bytes.length * 2);
for (int i = 0; i < bytes.length; i++) {
builder.append(hex.charAt((bytes[i] & 0xf0) >> 4));
builder.append(hex.charAt((bytes[i] & 0x0f) >> 0));
}
return builder.toString();
}



public static char byteToChar(byte[] b) {
int s = 0;
if (b[0] > 0)
s += b[0];
else
s += 256 + b[0];
s *= 256;
if (b[1] > 0)
s += b[1];
else
s += 256 + b[1];
char ch = (char) s;
return ch;
}

public static byte[] charToByte(char ch){
int temp = (int) ch;
byte[] b = new byte[2];
for (int i = b.length - 1; i > -1; i--) {
b[i] = new Integer(temp & 0xff).byteValue();// 将最高位保存在最低位
temp = temp >> 8; // 向右移8位
}
return b;
}

//字符到字节转换
public static int byteToInt(byte[] b) {
int s = 0;
for (int i = 0; i < 3; i++) {
if (b[i] >= 0)
s = s + b[i];
else
s = s + 256 + b[i];
s = s * 256;
}
if (b[3] >= 0)// 最后一个之所以不乘,是因为可能会溢出
s = s + b[3];
else
s = s + 256 + b[3];
return s;
}


public static int byteToInt1(byte[] byteVal) {
    int result = 0;
for (int i = 0; i < byteVal.length; i++) {
int tmpVal = (byteVal[i] << (8 * (3 - i)));
switch (i) {
case 0:
tmpVal = tmpVal & 0xFF000000;
break;
case 1:
tmpVal = tmpVal & 0x00FF0000;
break;
case 2:
tmpVal = tmpVal & 0x0000FF00;
break;
case 3:
tmpVal = tmpVal & 0x000000FF;
break;
}
result = result | tmpVal;
}
   return result;
}
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    int、char、double与byte类型之间相互转换

    本文将详细介绍如何实现int、char、double与byte类型之间的相互转换,并通过具体的示例代码来阐述每一种转换方法。 ### 一、int类型转换为byte数组 #### 方法:intToByte() 该方法接收一个int类型的参数`number`,...

    Java 中 char 与 byte 的区别

    - 对于英文字符,`char`、`byte` 和 `int` 之间可以相互转换,因为它们都遵循 ASCII 表。 ```java byte g = 'b'; // b 对应的 ASCII 值是 98 char h = (char) g; char i = 85; // U 对应的 ASCII 值是 85 int j = ...

    S7-1200中将BYTE类型数据转换成char类型数据的具体方法.docx

    本教程将详细介绍如何在TIA博途环境下将BYTE类型的数据转换成char类型数据,以及在转换过程中需要注意的事项。 首先,创建一个TIA博途的新测试项目,然后在程序块中定义一个DB块。在这个DB块中,我们需要创建两个...

    VC (CString,char,int,long,string,byte...)名种类形间的转换

    ### VC (CString,char,int,long,string,byte...) 名种类形间的转换 在Visual C++(VC)编程环境中,数据类型之间的转换是一项非常常见的需求。尤其是在处理字符串、数字以及其他基本类型时,这种转换尤为重要。本文...

    C语言如何将int转byte类型

    在C语言中,数据类型是严格区分的,`int` 和 `byte` 是两种不同的数据类型,它们在内存中占据的字节数和表示的数值范围都有所不同。`int` 通常用来存储整数,而 `byte` 通常是一个单字节的数据类型,用于存储较小的...

    byte与各类型之间的转化

    以上介绍了byte与其他常见类型(如int、char、double、String)之间的转换方法。这些方法在实际开发中非常实用,尤其是在网络通信、文件读写等场景中。正确理解和掌握这些转换方法能够帮助开发者更加高效地进行数据...

    java实现的字节数组转换成基本类型,基本类型转换成byte[]

    char short int long float double 转换成byte数组

    CString-const-char-char-to-WCHAR.rar_CString To Char_char wchar_

    char* multiByteStr = new char[byteCount]; int result = ::WideCharToMultiByte(CP_ACP, 0, wideStr, -1, multiByteStr, byteCount, NULL, NULL); if (result &gt; 0) { // 使用multiByteStr } delete[] ...

    java基本类型与byte数组互相转换.pdf

    public static byte[] charToByteArr(char ch) { byte[] b = new byte[2]; int temp = (int) ch; b[0] = (byte) (temp &gt;&gt; 8 & 0xff); b[1] = (byte) (temp & 0xff); return b; } ``` 在上面的代码中,我们首先...

    rsa算法设计 密码学

    int PowerMode(byteint A,byteint C,byteint D,signed char flag[400]);//computing A^B mod C--&gt;D void IntRandom(byteint RandomA,int num); //随机产生一个大数 void LoadInt(byteint A,mtype B); //将质数...

    byte[]转化成其他数据类型

    根据提供的文件信息,本文将详细解释如何在Java中实现`byte[]`与其他基本数据类型之间的转换,例如`int`、`short`、`float`以及`String`等,并且会探讨不同字节序(Little Endian与Big Endian)的影响。 ### byte[]...

    c#数据类型转换,BYTE,float,double,char类型间的转换方法.docx

    例如,`int`实际上是`System.Int32`的别名,`float`是`System.Single`,`double`是`System.Double`,`byte`是`System.Byte`,`char`是`System.Char`。这些别名是为了便于开发者编写代码,而底层实现则基于对应的类。...

    (转)java byte与char、String互转原理.pdf

    ### Java中Byte与Char、String互转原理 #### 一、字节与Unicode的基本概念 Java内部使用Unicode作为字符集的基础。这意味着所有的字符操作都基于Unicode标准,这为国际化提供了便利。然而,在实际应用中,数据往往...

    java基本类型与byte数组互相转换.doc

    Java基本类型是指Java语言中最基本的数据类型,包括byte、short、int、long、float、double、char、boolean等。这些基本类型在内存中以二进制形式存储,而byte数组是Java中的一种数据结构,用于存储一组byte类型的...

    BYTE类型之间相互转换

    int intValue2 = (int)byteValue; //显式转换 ``` 2. **使用类型别名** 在C++11及更高版本中,可以使用`using`关键字定义类型别名,这有助于增强代码的可读性。例如: ```cpp using MyByte = unsigned char; ...

    条件运算符中的细节

    //特殊情况(含char类型) char和一个byte/short/int 结果为 int char和一个float/double 结果为float/double 二 表达式2和表达式3都是常量: 返回值的类型 ① int和小于它的类型组合时(char、byte、short) ...

    java基本类型与byte数组互相转换

    在Java编程语言中,基本类型的变量(如`short`、`int`、`long`、`char`、`double`和`float`)和`byte`数组之间的相互转换是一项非常实用的技术,尤其是在网络通信、文件读写等场景下。下面将详细介绍如何进行这些...

    数字类型 转换 字节数组

    * int : 整数类型 占4个字节 32位二进制 byte[0] byte[1] byte[2] byte[3] * long: 长整数类型 占8个字节 64位二进制 byte[0] byte[1] byte[2] byte[3] byte[4] byte[5] * byte[6] byte[7] * float: ...

    c#数据类型转换,BYTE,float,double,char类型间的转换方法 (3).docx

    本文将详细讨论C#中的数据类型转换,包括BYTE、float、double和char之间的转换方法。 1. 装箱与拆箱: 装箱是将值类型(如int、char)转换为对应的引用类型(如System.Int32、System.Char)的过程,而拆箱则是相反...

Global site tag (gtag.js) - Google Analytics