博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HBase shell 中的十六进制数值表示
阅读量:4982 次
发布时间:2019-06-12

本文共 1410 字,大约阅读时间需要 4 分钟。

在使用Hbase shell 进行get 或scan操作时,时不时会看到一些数值被转成了16进制, 就像下面那样

value=W\x5C5\x80

那么这个值具体等于多少? 查阅资料后发现算法如下

W -> W的ASCII码16进制 为 0x57

\x5C -> 就是16进制不变 0x5C

5 -> 5的ASCII码16进制 为 0x35

\x80 -> 就是16进制不变 0x80

所以从左往右重新拼起来就是

0x575C3580 -> 转成十进制为  1465660800

 

所以照例,如下

value=W]PA

W -> W的ASCII码16进制 为 0x57

] -> ]的ASCII码16进制 为 0x5D

P -> P的ASCII码16进制 为 0x50

A -> A的ASCII码16进制 为 0x41

0x575D5041 -> 转成十进制为  1465733185

 


 

 

以上是查询结果出现十六进制的情况, 那么如果查询的Key本身也被转为16进制怎么办? 因为有时候key中可能有中文字符.

可以照如下操作:

先写个简单测试程序把中文UTF-8转成16进制

System.out.println(org.apache.commons.codec.binary.Hex.encodeHex("中文".getBytes("UTF-8"))); //输出结果:e4b8ade69687 System.out.println(new String(org.apache.commons.codec.binary.Hex.decodeHex("e4b8ade69687".toCharArray()),"UTF-8")); //输出结果:中文

也可以直接使用网站工具

https://sites.google.com/site/nathanlexwww/tools/utf8-convert

转好后把16进制每2位一组前面加上\x

就比如上面的

e4b8ade69687 -> \xe4\xb8\xad\xe6\x96\x87 

 

举个例子: 

我要查询的key是

CE20CCE09EEB4F8A6BB50E41953A55FCD|3|钢铁烈阳37|PA-1453442402-6111|PR-1453442402-3599

直接

get 'role_history_info' , 'CE20CCE09EEB4F8A6BB50E41953A55FCD|3|钢铁烈阳37|PA-1453442402-6111|PR-1453442402-3599'

没有结果

把其中的中文字符按照上面的方法转成如下

钢铁烈阳->e992a2e99381e78388e998b3 -> \xe9\x92\xa2\xe9\x93\x81\xe7\x83\x88\xe9\x98\xb3

查询时 包着key的单引号换成双引号

get 'role_history_info' , "CE20CCE09EEB4F8A6BB50E41953A55FCD|3|\xe9\x92\xa2\xe9\x93\x81\xe7\x83\x88\xe9\x98\xb337|PA-1453442402-6111|PR-1453442402-3599"

 

查出来啦...

 

转载于:https://www.cnblogs.com/drwong/p/5622035.html

你可能感兴趣的文章
$.ajax同域请求,跨域请求的解决方案
查看>>
octave操作
查看>>
【Python】安装Python的mysql模块
查看>>
【Python】在控制台输出不同颜色的文字
查看>>
js 获取gridview 点击行每个单元格的值
查看>>
Floyd算法解说
查看>>
浅谈C++非多态单继承数据布局
查看>>
cogs 1396. wwww
查看>>
MYSQL数据库优化
查看>>
Linux 新手学习任务
查看>>
内部类对象的获取!《Thinking in Java》随笔018
查看>>
[MongoDB]Python 操作 MongoDB
查看>>
antd 表格隔行变色
查看>>
springboot-helloworld实现
查看>>
关于CocoaSocket
查看>>
面试准备专题——SOA架构
查看>>
前端 CSS padding 目录
查看>>
android无缝切换播放器,KingPlayer一个专注于 Android 视频播放器的基础库,支持无缝切换内核。...
查看>>
layui中的html怎样接收后台的值,layui框架与SSM前后台交互的方法
查看>>
Skulpt在线模拟运行Python工具
查看>>