首页 > 其他分享 >Unicode编码与中文的转换

Unicode编码与中文的转换

时间:2023-04-23 11:06:08浏览次数:31  
标签:case 编码 中文 String int char ++ Unicode aChar


1.1.  将unicode编码转换为中文

public String decodeUnicode(String src) {
       char[] in = src.toCharArray();
       char aChar;
       char[] out = new char[src.length()];
       int outLen = 0;
       int off = 0;
       int end = src.length();
 
       while (off < end) {
           aChar = in[off++];
           if (aChar == '\\') {
              aChar = in[off++];
              if (aChar == 'u') {
                  int value = 0;
                  for (int i = 0; i < 4; i++) {
                     aChar = in[off++];
                     switch (aChar) {
                     case '0':
                     case '1':
                     case '2':
                     case '3':
                     case '4':
                     case '5':
                     case '6':
                     case '7':
                     case '8':
                     case '9':
 '0';
                         break;
                     case 'a':
                     case 'b':
                     case 'c':
                     case 'd':
                     case 'e':
                     case 'f':
 'a';
                         break;
                     case 'A':
                     case 'B':
                     case 'C':
                     case 'D':
                     case 'E':
                     case 'F':
 'A';
                         break;
                     default:
                         throw new IllegalArgumentException(
"Malformed \\uxxxx encoding.");
                     }
                  }
                  out[outLen++] = (char) value;
              } else {
                  if (aChar == 't') {
'\t';
                  } else if (aChar ==  'r') {
'\r';
                  } else if (aChar ==  'n') {
'\n';
                  } else if (aChar ==  'f') {
'\f';
                  }
                  out[outLen++] = aChar;
              }
           } else {
              out[outLen++] = (char) aChar;
           }
       }
       return  new String(out, 0, outLen);
    }

1.2.  将中文编码(不包含英文字符)为unicode编码

public String encodeUnicode(String str) {
       int iValue = 0;
"";
       for (int i = 0; i < str.length(); i++) {
           iValue = (int) str.charAt(i);
           if (iValue <= 256) {
              uStr += str.charAt(i);
           } else {
"\\u" + Integer.toHexString(iValue);
           }
       }
       return uStr;
    }

1.3.  将中文编码

public String encoding(String srcStr){
       
"";
       try {
           desStr = URLEncoder.encode(srcStr,  "UTF-8");
       } catch (UnsupportedEncodingException e) {
           e.printStackTrace();
       }
       
       return desStr;
    }

1.4.  将中文解码

public String decoding(String srcStr){
"";
       
       try {
           desStr = URLDecoder.decode(srcStr,  "UTF-8");
       } catch (UnsupportedEncodingException e) {
           e.printStackTrace();
       }
       return desStr;
    }

 

标签:case,编码,中文,String,int,char,++,Unicode,aChar
From: https://blog.51cto.com/u_6784072/6216848

相关文章

  • JavaTPoint 数据科学和人工智能中文教程【翻译完成】
    在线阅读在线阅读(Gitee)ApacheCN学习资源目录人工智能DIP教程SAS教程Tableau教程r教程TensorFlow教程NLP教程MATLAB教程强化学习教程Talend教程ANN教程数学计算机教程计算机图形学数据挖掘机器学习NumPy教程PyTorch教程PythonSciPy教程Pandas教程OpenCV教程Matplotlib......
  • JavaTPoint 工具中文教程【翻译完成】
    在线阅读在线阅读(Gitee)ApacheCN学习资源目录Ubuntu上的安装苹果操作系统中的软件安装在CentOS上安装nginx教程Bash教程Git教程LATEX教程SVN教程辅助教程Firebase教程UML教程Tally教程Kubernetes教程Puppet教程GDB教程Nagios教程软件测试Selenium教程敏捷教程JIRA......
  • OverIQ 中文系列教程【翻译完成】
    在线阅读在线阅读(Gitee)ApacheCN学习资源目录C编程教程C语言基础C编程导论安装Code::Blocks创建和运行第一个C程序C程序的基本要素关键字和标识符C语言中的数据类型C语言中的常量C语言中的变量输入和输出C语言的输入和输出使用C语言格式化输入和输出C语言中的表达式......
  • JavaTPoint PHP 中文教程【翻译完成】
    在线阅读在线阅读(Gitee)ApacheCN学习资源目录PHP教程Laravel教程WordPress教程CodeIgniter教程Magento2教程Joomla教程Phalcon教程YII框架XAMPP教程贡献指南本项目需要校对,欢迎大家提交PullRequest。请您勇敢地去翻译和改进翻译。虽然我们追求卓越,但我们并不要求您做到......
  • LearnETutorial 中文系列教程【翻译完成】
    在线阅读在线阅读(Gitee)ApacheCN学习资源目录人工智能中文教程C中文教程Golang中文教程HTML中文教程Java中文教程机器学习中文教程PHP中文教程Python中文教程R中文教程网络安全中文教程贡献指南本项目需要校对,欢迎大家提交PullRequest。请您勇敢地去翻译和改进翻译。虽然......
  • Succinctly 中文系列教程(二) 20220109 更新
    Succinctly.NET本地化教程零、简介一、从本地化开始二、日期和时间三、周数四、时区五、数字六、货币七、文本八、附录SuccinctlyLinux教程一、简介二、Linux目录结构三、命令行界面四、目录五、查看文件和目录详情六、权限七、查看和编辑文件八、删除、移动和重命名文件和目......
  • Succinctly 中文系列教程 20220109 更新
    Succinctly会计教程一、会计简明指南二、收入和费用三、收入确认四、组织账目五、会计原则六、会计制度报告七、固定资产八、应收账款九、应付账款十、库存十一、工资单十二、总结十三、附录Succinctly安卓编程教程一、设置二、你好,安卓三、活动生命周期四、用户界面布局五、用户......
  • 慧荣(SMI)SM3257ENLT量产工具v2.5.30中文汉化
    最近手头一个PE启动U盘插入电脑能显示盘符,但是不能打开。如果有同样的主控和症状可以试试这个工具。先用 ChipGenius 查了一下主控厂商以及主控型号;主控厂商:SMI(慧荣)主控型号:SM3257ENLT-ISP140211-AA-然后再网上找了一圈,至于找到一个可以用的工具,最后利用这......
  • 图片Base64编码
    https://blog.csdn.net/duola8789/article/details/78844431什么是图片Base64编码图片的base64编码就是可以将一副图片数据编码成一串字符串,使用该字符串代替图像地址。这样的意义是:网页上的每一个图片,都要消耗一个http请求下载而来(所以CSS雪碧图技术应运而生),而将图片编码成......
  • mac冒险游戏:神奇宝盒:冒险建造者Wonderbox for mac 中文版
    Wonderbox是一款由 AquirisGameStudio开发的跨平台冒险游戏。在这个游戏中,玩家将进入一个充满奇幻和创造性的世界,并且可以使用各种工具和素材来创建自己的世界。Wonderbox的游戏特色主要包括以下几点:创造性玩法-玩家可以在游戏中使用各种不同的工具和素材来建造自己的世界,......