javagbk编码_java中⽂转GBK码
遇到⼀个需求,⼀个接⼝的调⽤时,需要将中⽂转成对应的GBK码,然后发请求调⽤,⼤概搜了下,貌似没有简单可⾏的现成⽅法,不像python能够直接decode / encode。
的时候有⼀个帖⼦给了启⽰: java默认⽤Unicode存储String,所以直接转成某种编码的byte的同时,就已经转成了该编码的encoding。
于是了个例⼦,
天安门 对应的gbk码是: %CC%EC%B0%B2%C3%C5
于是转⼀下
byte[] bytes = Bytes("GBK");
再计算下补码(还是反码)神马的。
for(byte b : bytes) {
sb.append("%" + HexString((b & 0xff)).toUpperCase());
python转java代码}
就得到了上述的CC EC B0 B2 C3 C5
按照格式塞进去百分号,⼤功告成。完整的函数如下:
1 public static String toGBK(String source) throwsUnsupportedEncodingException {
2 StringBuilder sb =
newStringBuilder();3 byte[] bytes = Bytes("GBK");4 for(byteb : bytes) {5 sb.append("%" + HexString((b & 0xff)).toUpperCase());6 }7
String();9 }
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论