我想写一个小程序想把16进制转换文中文,但是我一直解决不了怎么把一个整数转化为unicode格式。谁能帮帮我啊。。感激不尽
例如50403准换为unicode的格式应该怎么办
怎样把整型用unicode格式输出
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
2条回答 默认 最新
- rednaxelafx 2009-04-05 01:28关注
对单个Unicode codepoint要转换为Java可用的UTF-16字符序列,用Character.toChars(int)。要进一步转换为别的编码的话,用CharsetEncoder就行;或者用String.getBytes也行,但它的内部实际上也用了CharsetEncoder来做转换。
[code="java"]import java.nio.*;
import java.nio.charset.*;public class Test {
public static void main(String[] args) throws Exception {
StringBuilder sb = new StringBuilder();
sb.appendCodePoint(0x4f60);
String result = sb.toString();
System.out.println(result); // 你
byte[] gbkBytes = result.getBytes("GBK");
System.out.printf("%x%x\n", gbkBytes[0], gbkBytes[1]); // c4e3//////////////////////////////////////////// char[] ca = Character.toChars(0x4f60); // unicode codepoint -> UTF-16 array CharsetEncoder gbkEncoder = Charset.forName("GBK").newEncoder(); CharBuffer cbuf = CharBuffer.wrap(ca); ByteBuffer bbuf = gbkEncoder.encode(cbuf); byte[] gbkBytes2 = bbuf.array(); System.out.printf("%x%x\n", gbkBytes2[0], gbkBytes2[1]); // c4e3 int gbkCode2 = bbuf.asShortBuffer().get() & 0x0FFFF; System.out.printf("%x\n", gbkCode2); // c4e3 }
}[/code]
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 鼠标右键,撤销删除 复制 移动,要怎样删除
- ¥15 使用MATLAB进行余弦相似度计算加速
- ¥15 服务器安装php5.6版本
- ¥15 我想用51单片机和数码管做一个从0开始的计数表 我写了一串代码 但是放到单片机里面数码管只闪烁一下然后熄灭
- ¥20 系统工程中,状态空间模型中状态方程的应用。请猛男来完整讲一下下面所有问题
- ¥15 我想在WPF的Model Code中获取ViewModel Code中的一个参数
- ¥15 arcgis处理土地利用道路 建筑 林地分类
- ¥20 使用visual studio 工具用C++语音,调用openslsx库读取excel文件的sheet问题
- ¥100 寻会做云闪付tn转h5支付链接的技术
- ¥15 DockerSwarm跨节点无法访问问题