我需要把二进制转换成十六进制。这个问题与下面链接中提到的问题非常相似,但我需要使用java而不是node.js—使用node将mongodb binary\u id转换为luuid
列值是二进制base64,在配置单元中表示为数据类型字符串。“aagobh3pqkwvtak8ao2u9w==”。所需的十六进制输出-“00018e06-1de9-aa45-afb5-a2bc00ed94f7”
我正在用java创建一个hiveudf来进行转换,我正在开发hive1.0版本。我想将这个字符串“aagobh3pqkwvtak8ao2u9w==”表示为base64(而不是转换),以便进一步转换为十六进制。
类似于上面链接中的node.js示例-var hex=new buffer(bin,'base64').tostring('hex');
但是base64似乎并不有效。
有没有一种方法可以不用hive-udf?如果不是,我们如何将字符串列表示(不转换)为base64列。
谢谢你的帮助!!
1条答案
按热度按时间oyt4ldly1#
我建议您使用apache公共编解码器您的字符串看起来像base64字符串。
在java中,使用:
引用此
在javascript中,使用:
请参考: