编码java实现的utf8,gbk,unicode编码相互转换的代码

unicode转换  时间:2021-04-12  阅读:()

Java实现的utf8 gbk unic ode编码相互转换的代码public static String GBK2Unicode(String str) {

StringBuffer result=new StringBuffer();for(int i=0; i s tr.length(); i++) {c har c hr 1=(c har) str.c harAt(i);if(!isNeedConvert(chr 1)) {result.append(chr 1);c ontinue;result.append( \\u+Integer.toHexString((int)c hr 1));return result.toString();

*@param dataStr

*@return Stringpublic static String Unicode2GBK(String dataStr) {int index=0;

StringBuffer buffer=new StringBuffer();int li_len=dataStr.length();while(index li_len) {if(index=li_len- 1

| | ! \\u.equals(dataStr.subs tring(index, index+2))) {buffer.append(dataStr.charAt(index));index++;c ontinue;

String charStr=

charStr=dataStr.substring(index+2, index+6);char letter=(char) Integer.pars eInt(charStr, 16);buffer.app end(letter);index+=6;return buffer.toString();public static boolean isNeedConvert(char para) {r eturn((p ar a(0 x 00 F F)) !=p ar a);

*utf-8转unic ode

*@param inStr

*@return Stringpublic static String utf8ToUnicode(String inStr) {c har[]myBuffer=inStr.toCharArray();

StringBuffer sb=new StringBuffer();for(int i=0; i inStr.length(); i++) {

UnicodeBlock ub=UnicodeBlock.of(myBuffer[i]);if(ub==UnicodeBlock.BASIC_LATIN) {sb.append(myBuffer[i]);

} else if(ub==UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {int j=(int)myBuffer[i] -65248;sb.append((char)j);

} els e {short s=(short)myBuffer[i];

String hexS=Integer.toHexString(s);

String unicode=\\u+hexS;sb.append(unic ode.toLow erCas e());return sb.toString();

*@param theString

*@return Stringpublic static String unicodeToUtf8(String theString) {char aChar;int len=theString.length();

String Buffer outBuffer=new StringBuffer(len);for(int x=0;x len;) {aChar=theS tring.c harAt(x++);if(aChar==‘\\’) {aChar=theS tring.c harAt(x++);if(aChar==‘u’) {

//Read the xxxxint value=0;for(int i=0; i i++) {aChar=theS tring.c harAt(x++);sw itc h(aChar) {case ‘0’ :case ‘1’ :

case ‘2’ :case ‘3’ :case ‘4’ :case ‘5’ :case ‘6’ :case ‘7’ :case ‘8’ :case ‘9’ :value=(value 4)+aChar- ‘0’ ;break;case ‘a’ :case ‘b’ :case ‘c’ :case ‘d’ :case ‘e’ :case ‘f’ :value=(value 4)+10+aChar- ‘a’ ;break;case ‘A’ :case ‘B’ :case ‘C’ :case ‘D’ :

case ‘E’ :case ‘F’ :value=(value 4)+10+aChar- ‘A’ ;break;default:throw new IllegalArgumentExc eption(Malformed\\uxxxx enc oding.outBuffer.append((c har)value);

} els e {if(aChar==‘t’)aChar=‘\t’ ;els e if(aChar==‘r’)aChar=‘\r’ ;els e if(aChar==‘n’)aChar=‘\n’ ;els e if(aChar==‘f’)aChar=‘\f’ ;outBuffer.app end(aChar);

} els eoutBuffer.app end(aChar);return outBuffer.to String();

}

RAKsmart推出7.59美元/月,云服务器产品Cloud Server,KVM架构1核1G内存40G硬盘1M带宽基础配置

近期RAKsmart上线云服务器Cloud Server产品,KVM架构1核1G内存40G硬盘1M带宽基础配置7.59美元/月!RAKsmart云服务器Cloud Server位于美国硅谷机房,下单可选DIY各项配置,VPC网络/经典网络,大陆优化/精品网线路,1-1000Mbps带宽,支持Linux或者Windows操作系统,提供Snap和Backup。RAKsmart机房是一家成立于2012年...

A400互联(49元/月)洛杉矶CN2 GIA+BGP、1Gbps带宽,全场独服永久5折优惠

a400互联是一家成立于2020年商家,主营美国机房的产品,包括BGP线路、CN2 GIA线路的云服务器、独立服务器、高防服务器,接入线路优质,延迟低,稳定性高,额外也还有香港云服务器业务。当前,全场服务器5折,香港VPS7折,洛杉矶VPS5折,限时促销!A400互联官网:https://a400.net/优惠活动全场独服永久5折优惠(续费同价):0722香港VPS七折优惠:0711洛杉矶VPS五...

HostHatch(15美元)大硬盘VPS,香港NVMe,美国、英国、荷兰、印度、挪威、澳大利亚

HostHatch在当地时间7月30日发布了一系列的促销套餐,涉及亚洲和欧美的多个地区机房,最低年付15美元起,一次买2年还能免费升级双倍资源。商家成立于2011年,提供基于KVM架构的VPS主机,数据中心包括中国香港、美国、英国、荷兰、印度、挪威、澳大利亚等国家的十几个地区机房。官方网站:https://hosthatch.com/NVMe VPS(香港/悉尼)1 CPU core (12.5%...

unicode转换为你推荐
您的appleoutlookexpress系统自带的outlook express有什么用?怎么用?计算机cuteftp阅读http徐州商标求江苏徐州地区的商标代理机构!pintang俏品堂是干什么的?很多论坛都有他们的踪迹。电子商务世界美国电子商务的发展经历几个阶段香港空间香港有哪些购物场所骑士人才系统公司要采购一套人才系统源码,看了一下骑士和嘉缘的,谁家的比较好一点呢?托就不要回答了。dezenderPHP高手来
外国虚拟主机 虚拟主机服务商 php空间租用 火山主机 enzu 网站保姆 debian6 好看的桌面背景图 灵动鬼影 dd444 秒杀预告 什么是服务器托管 中国电信测速器 架设邮件服务器 美国凤凰城 photobucket 阿里云手机官网 黑科云 fatcow winds 更多