编码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();

}

hostkey荷兰/俄罗斯机房,GPU服务器

hostkey应该不用说大家都是比较熟悉的荷兰服务器品牌商家,主打荷兰、俄罗斯机房的独立服务器,包括常规服务器、AMD和Intel I9高频服务器、GPU服务器、高防服务器;当然,美国服务器也有,在纽约机房!官方网站:https://hostkey.com/gpu-dedicated-servers/比特币、信用卡、PayPal、支付宝、webmoney都可以付款!CPU类型AMD Ryzen9 ...

特网云(198元/月),高质量云虚拟主机低至0.16元/天,裸金属服务器仅需10.5元/天

特网云为您提供高速、稳定、安全、弹性的云计算服务计算、存储、监控、安全,完善的云产品满足您的一切所需,深耕云计算领域10余年;我们拥有前沿的核心技术,始终致力于为政府机构、企业组织和个人开发者提供稳定、安全、可靠、高性价比的云计算产品与服务。官方网站:https://www.56dr.com/ 10年老品牌 值得信赖 有需要的请联系======================特网云推出多IP云主机...

HostRound:美国达拉斯/洛杉矶/纽约/荷兰大硬盘服务器,1TB NVMe+4TB HDD,$179/月

hostround怎么样?大硬盘服务器,高防服务器。hostround,美国商家,2017年成立,正规注册公司(Company File #6180543),提供虚拟主机、VPS云主机、美国服务器、荷兰服务器租用等。现在有1款特价大硬盘独服,位于达拉斯,配置还不错,本月订购时包括免费 500Gbps DDoS 保护,有兴趣的可以关注一下。点击直达:hostround官方网站地址美国\荷兰独立服务器...

unicode转换为你推荐
迦南server全国企业信息查询有没有可以查全国企业信息的工商查询网站支付宝账户是什么什么是企业支付宝账户netshwinsockreset电脑开机老是出现wwbizsrv.exe 应用程序错误 怎么处理360防火墙在哪里设置360防火墙怎么开启啊 我要9.3的平阴县教育和体育局下属锦东小学教学设备采购项目竞争性磋商文件2828商机网2828商机网的信息准确吗,可信度高吗缤纷网五彩缤纷的黑是什么梗?瑞东集团道恩集团的集团简介免费代理加盟怎么开免费的代理网店
免费vps 加勒比群岛 海外服务器 优key 免费名片模板 圣诞节促销 丹弗 免费个人网站申请 帽子云 100m空间 网站卫士 免费活动 服务器托管什么意思 爱奇艺vip免费试用7天 香港新世界中心 最漂亮的qq空间 七夕快乐英语 raid10 cloudlink 西安主机 更多