java 8进制 utf8_java 中 16 进制 HEX 转换成字节码形式的 UTF-8

博客介绍了如何在Java中将形如xE9xBB的16进制HEX字符串转换为UTF-8编码的中文字符,通过解析16进制字符串并转换为字节数组实现。同时提到了Python和Shell中的转换方法,并给出了Java中Unicode到UTF-8的转换示例。
摘要由CSDN通过智能技术生成

最近在HBase中用shell查询后,得到的中文编码是十六进制的字符码,想利用ultaEdit里的编码转中文,失败。有些java代码又是用移位的方法,觉得简单东西复杂化了,偶然看到一个文章,简单搞定。转载

恩,又碰到个蛋疼的编码转换问题了:要把形如\xE9\xBB 的字符串转成中文。。。

在python中我们直接print "\xE9\xBB\x84"即可,

在shell中我们直接 echo $'\xe9\xbb\x84' #echo -e '\xe9\xbb\x84'也行,

注意:不能直接 echo $'\xde\xab'|iconv -f gbk -t utf-8 ,

因为 gbk的话,\xE9\xBB是榛,后面的\x84只有半个字,会报错或乱码,

utf8是变长的,占1~4字节,汉字一般是3字节,例如 xe9是16进制,占8bit,也就是一个字节。

但是到了 java 中,就比较蛋疼了,还是上代码吧:

01

import java.io.UnsupportedEncodingException;

02

03

public class Hex2Byte {

04

public static void main(String[] args)throws UnsupportedEncodingException {

05

06

String source ="\\xE9\

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值