用java如何把unicode码转成汉字?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用java如何把unicode码转成汉字?相关的知识,希望对你有一定的参考价值。
用java怎么把“\u4fdd”码转成汉字?
程序怎么写的?
java中将unicode码转换成汉字的方式是直接使用string类型,打印即可:
String ascii="\\u4f01\\u4e1a";//这两个unicode码就是企业的System.out.println(ascii);//打印出来
运行结果:
企业
Unicode只有一个字符集,中、日、韩的三种文字占用了Unicode中0x3000到0x9FFF的部分 Unicode目前普遍采用的是UCS-2,它用两个字节来编码一个字符, 比如汉字"经"的编码是0x7ECF,注意字符编码一般用十六进制来 表示,为了与十进制区分,十六进制以0x开头,0x7ECF转换成十进制 就是32463,UCS-2用两个字节来编码字符,两个字节就是16位二进制, 2的16次方等于65536,所以UCS-2最多能编码65536个字符。
参考技术A Java中字符和字符串都采用的是Unicode编码;汉字能够直接表示;不需要转换 可以测试一下public class Unicode2Chzpublic static void main(String[] args)
String cc="\u4fdd";
System.out.print(cc);
直接输出:保 参考技术B System.out.println(new String("\u4fdd")) 参考技术C 如果是javaEE,可以用过滤器
服务器返回的数据将Unicode码转成汉字
当我们请求接口的时候,服务器会返回一些数据,当我们打印的时候就会发现,打印出来的是unicode码,不是汉字。
这时候需要我们自己手动处理一下,让打印的时候输出汉字的格式。
方法如下:
新增一个分类,在分类中,重写描述的方法,如下:
/** * 集合类型打log */ @implementation NSArray (log) - (NSString *)description{ return [self descriptionWithLocale:nil]; } - (NSString *)descriptionWithLocale:(id)locale{ NSMutableString * string = [[NSMutableString alloc]init]; [string appendString:@"[ "]; for (int i = 0; i < self.count; i++) { [string appendFormat:@" 第%d个 -- %@ ",i,self[i] ]; } [string stringByAppendingString:@"] "]; return string; } @end @implementation NSDictionary (Log) - (NSString *)jsonDescription { // 参考了此博客 https://www.jianshu.com/p/f14b4cb1435b . // NSString默认使用的是UTF-16,转出UTF-8就能打印了 NSError * error = nil ; NSData *data = [NSJSONSerialization dataWithJSONObject:self options:NSJSONWritingPrettyPrinted error:&error]; if (error) { NSMutableString *strM = [NSMutableString stringWithString:@"{ "]; [self enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) { [strM appendFormat:@" %@ = %@ ; ", key, obj]; }]; [strM appendString:@"} "]; return strM; } NSString *newString = [[NSString alloc] initWithData:data encoding:NSUTF8StringEncoding]; newString = [newString stringByReplacingOccurrencesOfString:@"\" withString:@""] ; return newString ; } - (NSString *)description{ return [self descriptionWithLocale:nil]; } - (NSString *)descriptionWithLocale:(id)locale { if ([NSJSONSerialization isValidJSONObject:self]) { return [self jsonDescription]; } // 原来的写法,格式上有点问题,但是转中文是没问题的 NSMutableString *strM = [NSMutableString stringWithString:@"{ "]; [self enumerateKeysAndObjectsUsingBlock:^(id key, id obj, BOOL *stop) { [strM appendFormat:@" %@ = %@ ; ", key, obj]; }]; [strM appendString:@"} "]; return strM; } @end
以上是关于用java如何把unicode码转成汉字?的主要内容,如果未能解决你的问题,请参考以下文章