普通字符串与Hex编码字符串之间转换
import java.io.UnsupportedEncodingException;
import org.apache.commons.codec.binary.Hex; public class Example {
/**
* 将普通字符串转换成Hex编码字符串
*
* @param dataCoding 编码格式,15表示GBK编码,8表示UnicodeBigUnmarked编码,0表示ISO8859-1编码
* @param realStr 普通字符串
* @return Hex编码字符串
* @throws UnsupportedEncodingException
*/
public static String encodeHexStr(int dataCoding, String realStr) {
String hexStr = null;
if (realStr != null) {
try {
if (dataCoding == 15) {
hexStr = new String(Hex.encodeHex(realStr.getBytes("GBK")));
} else if ((dataCoding & 0x0C) == 0x08) {
hexStr = new String(Hex.encodeHex(realStr.getBytes("UnicodeBigUnmarked")));
} else {
hexStr = new String(Hex.encodeHex(realStr.getBytes("ISO8859-1")));
}
} catch (UnsupportedEncodingException e) {
System.out.println(e.toString());
}
}
return hexStr;
} /**
* 将Hex编码字符串转换成普通字符串
*
* @param dataCoding 反编码格式,15表示GBK编码,8表示UnicodeBigUnmarked编码,0表示ISO8859-1编码
* @param hexStr Hex编码字符串
* @return 普通字符串
*/
public static String decodeHexStr(int dataCoding, String hexStr) {
String realStr = null;
try {
if (hexStr != null) {
if (dataCoding == 15) {
realStr = new String(Hex.decodeHex(hexStr.toCharArray()), "GBK");
} else if ((dataCoding & 0x0C) == 0x08) {
realStr = new String(Hex.decodeHex(hexStr.toCharArray()), "UnicodeBigUnmarked");
} else {
realStr = new String(Hex.decodeHex(hexStr.toCharArray()), "ISO8859-1");
}
}
} catch (Exception e) {
System.out.println(e.toString());
} return realStr;
} }
普通字符串与Hex编码字符串之间转换的更多相关文章
- 中文字符串和UTF-8编码字符串相互转换
中文字符串和UTF-8编码字符串相互转换 //UTF字符转换 var UTFTranslate = { Change: function(pValue) { ) { ).replace(/(%u)(\ ...
- Python: 在Unicode和普通字符串之间转换
Unicode字符串可以用多种方式编码为普通字符串, 依照你所选择的编码(encoding): <!-- Inject Script Filtered --> Toggle line nu ...
- Python3 字符串与hex之间的相互转换
在字符串转换上,python2和python3是不同的,在查看一些python2的脚本时候,总是遇到字符串与hex之间之间的转换出现问题,记录一下解决方法. 1. 在Python2.7.x上,hex字 ...
- Python——在Unicode和普通字符串之间转换
1.1. 问题 Problem You need to deal with data that doesn't fit in the ASCII character set. 你需要处理不适合用ASC ...
- python ----列表、字符串、元组之间转换小结
字符串转换列表 li =list("adfadfsf") #内部使用for循环 print(li) #输出结果:['a', 'd', 'f', 'a', 'd', 'f', 's' ...
- SSIS无法在unicode和非unicode 字符串数据类型之间转换
场景:SSIS从oracle抽到sqlserver,一个表对表到数据仓库ODS层的抽取,没有任何逻辑结果遇到问题: SSIS无法在unicode和非unicode 字符串数据类型之间转换 如下图2个字 ...
- 图片和base64编码字符串 互相转换,图片和byte数组互相转换
图片和base64编码字符串 互相转换 import sun.misc.BASE64Decoder; import sun.misc.BASE64Encoder; import java.io.*; ...
- char*、string、CString各种字符串之间转换
参考博客: http://blog.csdn.net/luoweifu/article/details/20242307 http://blog.csdn.net/luoweifu/article/d ...
- SSIS 无法在 unicode 和非 unicode 字符串数据类型之间转换
最近在学SSIS,遇到一个问题,把平面文件源的数据导入到EXCEL中. 平面文件源的对象是CSV,读进来的PhoneNumber是 DT_STR 然后倒入Excel 对应列建立的是longtext 一 ...
随机推荐
- MFC记住上次路径---遇到的一些问题
今天完成一个需求,就是记住用户选择的文件路径,先是熟悉代码,然后在网上找解决方法,一开始感觉没什么,网上的方法差不多,应该很容易做出来,结果真是卡了一半天,到晚上自己才慢慢的搞清楚了. 遇到的问题真不 ...
- 关于Tokenizer与TokenFilter的区别
TokenStream是一个能在被调用后产生语汇单元流的类,但是 TokenStream 类有两个不同的类型:Tokenizer 类和 TokenFilter 类.这两个类都是从抽象类TokenStr ...
- js滑动门及对像的使用
function scrollDoor() { } scrollDoor.prototype = { sd: function (menus, divs, openClass, closeClass) ...
- coco2d-x 纹理研究
转自:http://blog.csdn.net/qq51931373/article/details/9119161 1.通常情况下用PVR格式的文件来进行图片显示的时候,在运行速度和内存消耗方面都要 ...
- Linux下MongoDB备份脚本
#!/bin/bash today=`date +%Y%m%d` mongodump -h localhost -d salary -o /home/chzhao/mongobackup/$today ...
- [C语言 - 4] 指针
存放变量地址的变量 int a = 1; int *p; p = &a; 在64位系统中,占用8个字节 直接引用 间接引用 *p : 指针指向的变量的值 不要使用未初始化的指针 1 ...
- Codeforces Round #271 (Div. 2) D. Flowers (递推)
题目链接:http://codeforces.com/problemset/problem/474/D 用RW组成字符串,要求w的个数要k个连续出现,R任意,问字符串长度为[a, b]时,字符串的种类 ...
- socket的shutdown与close
shutdown原型 int shutdown(int socket, int how); socket 指定socket的文件描述符 how 指定shutdown的类型 SHUT_RD 禁止读 ...
- 常用小方法 or 语法
--> 获取外部文件 def groovyUtils = new GroovyUtils( context ) def xmlFilePath = groovyUtils.getProjectP ...
- iOS 使用compare 进行对比
compare 是 NSString 中的一个方法,这个方法是将字符串 按照 ACSII码表来进行对比. NSString *num1 = @"5.2.0"; NSString * ...