package org.edujks.schoolapp.schoolbasedresearch.schoolsubject.action;public class DecodeUtil {/*** @declare native与ascii码互转* @param args* @author Lilin*/public static void main(String[] args) {// TODO Auto-generated method stubString a = chinaToUnicode("飞机f发多少adsfadsfadfad");System.out.println(a);System.out.println(decodeUnicode(a));}/*** 把中文转成Unicode码* * @param str* @return*/public static String chinaToUnicode(String str) {String result = "";for (int i = 0; i < str.length(); i++) {int chr1 = (char) str.charAt(i);if (chr1 >= 19968 && chr1 <= 171941) {// 汉字范围 \u4e00-\u9fa5 (中文)result += "\\u" + Integer.toHexString(chr1);} else {result += str.charAt(i);}}return result;}/*** 判断是否为中文字符* * @param c* @return*/public static boolean isChinese(char c) {Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);if (ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS|| ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS|| ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A|| ub == Character.UnicodeBlock.GENERAL_PUNCTUATION|| ub == Character.UnicodeBlock.CJK_SYMBOLS_AND_PUNCTUATION|| ub == Character.UnicodeBlock.HALFWIDTH_AND_FULLWIDTH_FORMS) {return true;}return false;}/**** 转码* * @param theString* @return* * @time 2012-6-13 下午5:54:34 TODO*/public static String decodeUnicode(String theString) {char aChar;int len = theString.length();StringBuffer outBuffer = new StringBuffer(len);for (int x = 0; x < len;) {aChar = theString.charAt(x++);if (aChar == '\\') {aChar = theString.charAt(x++);if (aChar == 'u') {int value = 0;for (int i = 0; i < 4; i++) {aChar = theString.charAt(x++);switch (aChar) {case '0':case '1':case '2':case '3':case '4':case '5':case '6':case '7':case '8':case '9':value = (value << 4) + aChar - '0';break;case 'a':case 'b':case 'c':case 'd':case 'e':case 'f':value = (value << 4) + 10 + aChar - 'a';break;case 'A':case 'B':case 'C':case 'D':case 'E':case 'F':value = (value << 4) + 10 + aChar - 'A';break;default:throw new IllegalArgumentException("Malformed   \\uxxxx   encoding.");}}outBuffer.append((char) value);} else {if (aChar == 't')aChar = '\t';else if (aChar == 'r')aChar = '\r';else if (aChar == 'n')aChar = '\n';else if (aChar == 'f')aChar = '\f';outBuffer.append(aChar);}} elseoutBuffer.append(aChar);}return outBuffer.toString();}}

转载于:https://www.cnblogs.com/gisblogs/p/4123499.html

native与ascii互转相关推荐

  1. java ask to_Java native和ASCII 互转工具Native2AsciiUtils.java下载

    /* * Copyright 2012-2013 The Haohui Network Corporation */ package com.haohui.common.utils; /** * Ja ...

  2. python ascii函数二进制_python模块介绍- binascii:二进制和ASCII互转以及其他进制转换...

    20.1 binascii:二进制和ASCII互转 作用:二进制和ASCII互相转换. Python版本:1.5及以后版本 binascii模块包含很多在二进制和ASCII编码的二进制表示转换的方法. ...

  3. [编程笔记] UNICODE和UTF-8和ASCII互转

    转载地址:https://blog.csdn.net/fzuim/article/details/72729833 此代码是在windows平台上运行. 最近维护一个项目时发现,MFC的Cstring ...

  4. native转ascii工具(复制成html文件即可用)

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"> <!-- saved from ur ...

  5. windows下C++实现Unicode和ASCII编码的互转

    不管什么项目,或多或少都会遇到那么一点点转码的问题, 本片就提供两个实现Unicode和ASCII互转的函数. 环境为WINDOW 10, VS2010 (该函数在Windows下,也使用了windo ...

  6. React Native之原理浅析

    一.JavaScriptCore 讲React Native之前,了解JavaScriptCore会有帮助,也是必要的.React Native的核心驱动力就来自于JS Engine. 你写的所有JS ...

  7. java ascii 的转换

    /*** description: native2ascii.exe Java code implementation.* @author xyc 创建时间:Dec 12, 2014* @Copyri ...

  8. 整理了60个Python小例子,拿来即用!

    小例子 一. 数字 1 求绝对值 绝对值或复数的模 In [1]: abs(-6) Out[1]: 6 2 进制转化 十进制转换为二进制: In [2]: bin(10) Out[2]: '0b101 ...

  9. Python 的一些日常高频写法总结!

    (点击上方快速关注并设置为星标,一起学Python) 来源: https://github.com/jackzhenguo/python-small-example 今天给大家准备了60个python ...

最新文章

  1. Exchange企业实战技巧(5)配置OWA域名简写
  2. java多张图片合成一张_OLIS 多张图片合成分享
  3. Go 语言配置 TensorFlow
  4. python编程入门与案例详解pdf-这些年我读过的技术经典图书(附电子版下载地址)...
  5. C++并发编程之std::async(), std::future, std::promise, std::packaged_task
  6. 判断一个数是偶数还是奇数
  7. 【POJ - 2151】Check the difficulty of problems(概率dp)
  8. Android N 去电流程,【私人备忘录】Android P 去电代码流程
  9. ARM系统中断产生流程
  10. 蓝牙广播错误码3_蓝牙简介—物理层(PHY)
  11. Windows 7 添加SSD硬盘后重启卡住正在启动
  12. 软件测试面试:请说一下你工作中发现的最有价值的bug?
  13. plsql创建、测试存储过程
  14. 发明与实用新型专利了解
  15. 纯净内存清理加速软件(Mem Reduct)
  16. 在Java中按字节获得字符串长度的两种方法
  17. 虚拟机设置共享文件夹之后看不见文件(失败合集+成功分享)
  18. 如何在发布宝贝页面时嵌入视频
  19. 几种身份认证方式的分析
  20. Cyclostationary Signal 循环平稳信号概念辨析

热门文章

  1. 大众仪表板上为什么30km,50km处要标红?
  2. 设计一款知识性产品需要考虑十二个基本问题
  3. 一种人是成功为了赚钱,一种人是赚钱为了成功
  4. 很多人创业是为了自由
  5. 小企业如何才能做强做大?
  6. Its configuration is R5 3600, ASUS B450M motherboard
  7. 易懂分布式 | Kademlia算法
  8. sql 自定义函数 示例_SQL滞后函数概述和示例
  9. azure云数据库_Azure SQL数据库上的透明数据加密(TDE)
  10. [补档]noip2019集训测试赛(十五)