字符串转化为unicode编码

本文展示了一个Java程序实现的Unicode字符编码与解码方法,包括将字符串转换为Unicode编码和从Unicode编码还原字符串。
package com.util;

import java.io.UnsupportedEncodingException;

public class UnicodeUtil
{
/**
*
* @param gbString
* @return
*/
public static String encodeUnicode(final String data)
{
char[] utfBytes = data.toCharArray();
String unicodeBytes = "";

for (char utfByte : utfBytes)
{
String hexByte = Integer.toHexString(utfByte);

if (hexByte.length() <= 2)
{
hexByte = "00" + hexByte;
}

unicodeBytes += "//u" + hexByte;
}

return unicodeBytes;
}

public static String decodeUnicode(final String data)
{
int start = 0;
int end = 0;

final StringBuilder buffer = new StringBuilder();

while (start > -1)
{
end = data.indexOf("//u", start + 1);
String charStr = "";

if (end == -1)
{
charStr = data.substring(data.length() - 4, data.length());
}
else
{
charStr = data.substring(end - 4, end);
}

char letter = (char) Integer.parseInt(charStr, 16);

buffer.append(new Character(letter).toString());
start = end;
}

return buffer.toString();
}

public static void main(String[] args) throws UnsupportedEncodingException
{
String str = "非常抱歉,暂不支持该文件类型!";

String unicode = encodeUnicode(str);
System.out.println(unicode);

String decode = decodeUnicode(unicode);

System.out.println(decode);
}

}

来至:http://blog.youkuaiyun.com/alex197963/article/details/4397797

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值