/**
* 将字符串两位两位分开
*/
public static String splitTwo(String aa)
{
aa = aa.replaceAll(".{2}(?!$)", "$0 ");
aa = aa.replaceAll(" ", " 0x");
aa = "0x".concat(aa);
return aa;
}
/**
* bytes转换成十六进制字符串
* @param byte[] b byte数组
* @return String 每个Byte值之间空格分隔
*/
public static String byte2HexStr(byte[] b)
{
String stmp="";
StringBuilder sb = new StringBuilder("");
for (int n=0;n<b.length;n++)
{
stmp = Integer.toHexString(b[n] & 0xFF);
sb.append((stmp.length()==1)? "0"+stmp : stmp);
sb.append(" ");
}
return sb.toString().toUpperCase().trim();
}
/**
* bytes字符串转换为Byte值
* @param String src Byte字符串,每个Byte之间没有分隔符
* @return byte[]
*/
public static byte[] hexStr2Bytes(String src)
{
int m=0,n=0;
int l=src.length()/2;
System.out.println(l);
byte[] ret = new byte[l];
for (int i = 0; i < l; i++)
{
m=i*2+1;
n=m+1;
ret[i] = Byte.decode("0x" + src.substring(i*2, m) + src.substring(m,n));
}
return ret;
}
/**
* unicode的String转换成String的字符串
* @param String hex 16进制值字符串 (一个unicode为2byte)
* @return String 全角字符串
*/
public static String unicodeToString(String hex)
{
int t = hex.length() / 6;
StringBuilder str = new StringBuilder();
for (int i = 0; i < t; i++)
{
String s = hex.substring(i * 6, (i + 1) * 6);
// 高位需要补上00再转
String s1 = s.substring(2, 4) + "00";
// 低位直接转
String s2 = s.substring(4);
// 将16进制的string转为int
int n = Integer.valueOf(s1, 16) + Integer.valueOf(s2, 16);
// 将int转换为字符
char[] chars = Character.toChars(n);
str.append(new String(chars));
}
return str.toString();
}
/**
* String的字符串转换成unicode的String
* @param String strText 全角字符串
* @return String 每个unicode之间无分隔符
* @throws Exception
*/
public static String strToUnicode(String strText)
throws Exception
{
char c;
StringBuilder str = new StringBuilder();
int intAsc;
String strHex;
for (int i = 0; i < strText.length(); i++)
{
c = strText.charAt(i);
intAsc = (int) c;
strHex = Integer.toHexString(intAsc);
if (intAsc > 128)
str.append("\\u" + strHex);
else // 低位在前面补00
str.append("\\u00" + strHex);
}
return str.toString();
}
/**
* 十六进制转换字符串
* @param String str Byte字符串(Byte之间无分隔符 如:[616C6B])
* @return String 对应的字符串
*/
public static String hexStr2Str(String hexStr)
{
String str = "0123456789ABCDEF";
char[] hexs = hexStr.toCharArray();
byte[] bytes = new byte[hexStr.length() / 2];
int n;
for (int i = 0; i < bytes.length; i++)
{
n = str.indexOf(hexs[2 * i]) * 16;
n += str.indexOf(hexs[2 * i + 1]);
bytes[i] = (byte) (n & 0xff);
}
return new String(bytes);
}
/**
* 字符串转换成十六进制字符串
* @param String str 待转换的ASCII字符串
* @return String 每个Byte之间空格分隔,如: [61 6C 6B]
*/
public static String str2HexStr(String str)
{
char[] chars = "0123456789ABCDEF".toCharArray();
StringBuilder sb = new StringBuilder("");
byte[] bs = str.getBytes();
int bit;
for (int i = 0; i < bs.length; i++)
{
bit = (bs[i] & 0x0f0) >> 4;
sb.append(chars[bit]);
bit = bs[i] & 0x0f;
sb.append(chars[bit]);
sb.append(' ');
}
return sb.toString().trim();
}
private static String hexString = "0123456789ABCDEF";
public static String decode(String bytes)
{
ByteArrayOutputStream baos = new ByteArrayOutputStream(bytes.length() / 2);
for (int i = 0; i < bytes.length(); i += 2)
baos.write((hexString.indexOf(bytes.charAt(i)) << 4 | hexString.indexOf(bytes.charAt(i + 1))));
return new String(baos.toByteArray());
}
/**
* 将对应的字母转换ASCII值
*
* @param n
* @return
*/
private static String toHexUtil(int n)
{
String rt = "";
switch (n)
{
case 10:
rt += "A";
break;
case 11:
rt += "B";
break;
case 12:
rt += "C";
break;
case 13:
rt += "D";
break;
case 14:
rt += "E";
break;
case 15:
rt += "F";
break;
default:
rt += n;
}
return rt;
}
/**
* 将字母转换为对应16进制格式
*
* @param n
* @return
*/
public static String toHex(int n)
{
StringBuilder sb = new StringBuilder();
if (n / 16 == 0)
{
return toHexUtil(n);
}
else
{
String t = toHex(n / 16);
int nn = n % 16;
sb.append(t).append(toHexUtil(nn));
}
return sb.toString();
}
/** 将字符串解析为ASCII
*
* @param str
* @return
*/
public static String parseAscii(String str)
{
StringBuilder sb = new StringBuilder();
byte[] bs = str.getBytes();
for (int i = 0; i < bs.length; i++)
sb.append(toHex(bs[i]));
return sb.toString();
}
相关推荐
(c#)字符串转换成字符数组 字符串转换成int 数组
本文实例讲述了C#实现将字符串转换成日期格式的方法。分享给大家供大家参考。具体实现方法如下: 代码如下:string s = “20120114161145”; Response.Write(DateTime.ParseExact(s, “yyyyMMddHHmmss”, new System...
主要介绍了C语言字符串转换为Python字符串的方法,文中讲解非常细致,代码帮助大家更好的理解和学习,感兴趣的朋友可以了解下
js把字符串转换成变量js把字符串转换成变量
TIA博途中字符串转换相关指令的使用方法(一)
用于将将字符串转换为lambda表达式,对于实时获取运算结果或界面筛选条件,很有帮助
C语言常用数字和字符串转换函数,toi 字符串转换成整型数 atol 字符串转换成长整型数 atof 字符串转换成浮点型数 strtol 字符串转换成长整型数 strtoul 字符串转换成无符号长整型数 strtod 字符串转换成浮点数
js string转date,js字符串转换成日期,此代码支持将datetime(年月日小时分秒格式)转换为js的Date类型,程序已调试并支持在HTML中运行、代码请见附件。
在VB中实现将字符串转换成变量名,提供了两种。主要使用Contrl和callbyname ……
SQLServer逗号分隔的字符串转换成表
javascript将16进制的字符串转换为10进制整数hex.docx
本文实例讲述了C++实现十六进制字符串转换为十进制整数的方法。分享给大家供大家参考。具体实现方法如下: /* * 将十六进制数字组成的字符串(包含可选的前缀0x或0X)转换为与之等价的整型值 */ #include #include...
很好用的字符串转换工具,可对ASSIC码,字符串,十六进制相互转换
汇编语言程序题-将字符串转换成对应的大写字母
编写一个程序,它先将键盘上输入的一个字符串转换成十进制整数,代码
字符串转换器可以进行10进制转2进制转换,10进制转8进制/16进制转换。16进制转2进制或8进制10进制;字符串转10进制16进制,字符串转Unicode或Delphi DFM字符串。转换前选择一下要使用的转换模式转换即可。
这篇文章主要介绍了JS如何把字符串转换成json,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 Json格式字符串 "{"rows":[{"date":"2018-11-19","money":"22",...
这是一个字符串转换器,如果你突然遇到一个字符串,却不知道它的十六进制是怎样的形式,不必再写程序进行转换,直接使用这个小工具,粘贴到里面,然后单击Convert即可一键完成。快捷方便。
xml字符串转换json格式 可用于微信小程序xml字符串转换json格式 安装 npm方式安装 npm install --save xmlstring2json bower方式安装 bower install xmlstring2json 用法示例: bookstore.xml文件 <title>...
绿色版 字符串转换工具 可转换各种进制字符及unicode