java Unicode 转为中文

1public static String decodeUnicode(String theString) { 2    char aChar; 3    int len = theString.length(); 4    StringBuffer outBuffer = new StringBuffer(len); 5    for (int x = 0; x < len;) { 6      aChar = theString.charAt(x++); 7      if (aChar == '\\') { 8        aChar = theString.charAt(x++); 9        if (aChar == 'u') { 10          // Read the xxxx 11          int value = 0; 12          for (int i = 0; i < 4; i++) { 13            aChar = theString.charAt(x++); 14            switch (aChar) { 15              case '0': 16              case '1': 17              case '2': 18              case '3': 19              case '4': 20              case '5': 21              case '6': 22              case '7': 23              case '8': 24              case '9': 25                value = (value << 4) + aChar - '0'; 26                break; 27              case 'a': 28              case 'b': 29              case 'c': 30              case 'd': 31              case 'e': 32              case 'f': 33                value = (value << 4) + 10 + aChar - 'a'; 34                break; 35              case 'A': 36              case 'B': 37              case 'C': 38              case 'D': 39              case 'E': 40              case 'F': 41                value = (value << 4) + 10 + aChar - 'A'; 42                break; 43              default: 44                throw new IllegalArgumentException("Malformed   \\uxxxx   encoding."); 45            } 46          } 47          outBuffer.append((char) value); 48        } else { 49          if (aChar == 't') 50            aChar = '\t'; 51          else if (aChar == 'r') 52            aChar = '\r'; 53          else if (aChar == 'n') 54            aChar = '\n'; 55          else if (aChar == 'f') 56            aChar = '\f'; 57          outBuffer.append(aChar); 58        } 59      } else 60        outBuffer.append(aChar); 61    } 62    return outBuffer.toString(); 63  }
点赞
收藏

评论区

加载中...

相关推荐

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

java 代码点 代码单元

引用 http://blog.csdn.net/xujinsmile/article/details/8526387    Java中,char\\、String、StringBuilder和StringBuffer类中采用了UTF16编码,使用U0000~UFFFF来表示一个基本字符(BMP字符),但是位于UD800到UDBFF和UD

java中string和stringbuffer

 String s"Hello";s"World";//以上代码等价与下述代码StringBuffer sbnew StringBuffer(s);sb.append("world");ssb.toString();StringBuffer会产生许多临时对象,从而导致程序的执行效率变低,

java 处理emoji表情

public class EmojiUtil {/  将str中的emoji表情转为byte数组    @param str  @return /public static String resolveToByteFromEmoji(String str

java StringBuffer读写文件

javaStringBuffer读写文件StringBuffer的优势1.较String:String每更新一次就会new一个新的对象出来,更新次数上去之后,内存开销太大。而StringBuffer类型在更新(.append等操作)的过程中始终只有一个对象,开销大大减小。2.

String

一,String,StringBuffer,StringBuilder三者之间的关系三个类的关系:StringBuffer和StringBuilder都继承自AbstractStringBuilder这个类,而AbstractStringBuilder和String都继承自Object这个类(Object是所有java类的超类)