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

/*

* Copyright 2012-2013 The Haohui Network Corporation

*/

package com.haohui.common.utils;

/**

* Java Native和Ascii转换代码

*

* @project common-utils

* @author cevencheng

* @create 2012-11-7 下午4:16:57

*/

public class Native2AsciiUtils {

/**

* prefix of ascii string of native character

*/

private static String PREFIX = "\\u";

/**

* Native to ascii string. It's same as execut native2ascii.exe.

*

* @param str

* native string

* @return ascii string

*/

public static String native2Ascii(String str) {

char[] chars = str.toCharArray();

StringBuilder sb = new StringBuilder();

for (int i = 0; i < chars.length; i++) {

sb.append(char2Ascii(chars[i]));

}

return sb.toString();

}

/**

* Native character to ascii string.

*

* @param c

* native character

* @return ascii string

*/

private static String char2Ascii(char c) {

if (c > 255) {

StringBuilder sb = new StringBuilder();

sb.append(PREFIX);

int code = (c >> 8);

String tmp = Integer.toHexString(code);

if (tmp.length() == 1) {

sb.append("0");

}

sb.append(tmp);

code = (c & 0xFF);

tmp = Integer.toHexString(code);

if (tmp.length() == 1) {

sb.append("0");

}

sb.append(tmp);

return sb.toString();

} else {

return Character.toString(c);

}

}

/**

* Ascii to native string. It's same as execut native2ascii.exe -reverse.

*

* @param str

* ascii string

* @return native string

*/

public static String ascii2Native(String str) {

StringBuilder sb = new StringBuilder();

int begin = 0;

int index = str.indexOf(PREFIX);

while (index != -1) {

sb.append(str.substring(begin, index));

sb.append(ascii2Char(str.substring(index, index + 6)));

begin = index + 6;

index = str.indexOf(PREFIX, begin);

}

sb.append(str.substring(begin));

return sb.toString();

}

/**

* Ascii to native character.

*

* @param str

* ascii string

* @return native character

*/

private static char ascii2Char(String str) {

if (str.length() != 6) {

throw new IllegalArgumentException("Ascii string of a native character must be 6 character.");

}

if (!PREFIX.equals(str.substring(0, 2))) {

throw new IllegalArgumentException("Ascii string of a native character must start with \"\\u\".");

}

String tmp = str.substring(2, 4);

int code = Integer.parseInt(tmp, 16) << 8;

tmp = str.substring(4, 6);

code += Integer.parseInt(tmp, 16);

return (char) code;

}

}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/431058.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

go java性能_服务端I/O性能大比拼:Node、PHP、Java和Go

理解应用程序的输入/输出(I/O)模型&#xff0c;意味着其在计划处理负载与残酷的实际使用场景之间的差异。若应用程序比较小&#xff0c;也没有服务于很高的负载&#xff0c;也许它影响甚微。但随着应用程序的负载逐渐上涨&#xff0c;采用错误的I/O模型有可能会让你到处踩坑&am…

python爬取数据步骤_Python爬虫爬取数据的步骤

爬虫&#xff1a; 网络爬虫是捜索引擎抓取系统&#xff08;Baidu、Google等&#xff09;的重要组成部分。主要目的是将互联网上的网页下载到本地&#xff0c;形成一个互联网内容的镜像备份。 步骤&#xff1a; 第一步&#xff1a;获取网页链接 1.观察需要爬取的多网页的变化规律…

Android开发日记(六)

textViewUserName.setCursorVisible(false);//隐藏光标 textViewUserName.setFocusable(false);//失去焦点 textViewUserName.setFocusableInTouchMode(false);//虚拟键盘隐藏 if(!userLocalName.equalsIgnoreCase("null")&&!userLocalEmail.equalsIgnoreCa…

python数据库安装_python数据库-MySQL安装问题总结(48)

一、ERROR 1698(28000):Access denied for user rootlocalhost错误 我的操作系统是ubuntu&#xff1a;我的MySQL版本是&#xff1a;安装完成后&#xff0c;登录mysql的时候就出现了如下错误&#xff1a;因为安装的过程中没让设置密码&#xff0c;可能密码为空&#xff0c;但无论…

java io 文件路径_如何从Java项目中的相对路径读取文件? java.io.File找不到指定的路径...

如何从Java项目中的相对路径读取文件&#xff1f; java.io.File找不到指定的路径我有一个包含2个包的项目&#xff1a;ListStopWords.txtListStopWords.txt在包(2)中我有一个文本文件ListStopWords.txt&#xff0c;在包(1)中我有一个类FileLoadder.这是代码FileLoader&#xff…

[转]什么是RSS

http://www.blogbus.com/bangzhuzhongxin-logs/5452786.html 如果您够仔细的话&#xff0c;一定会发现BlogBus的每一个Blog站上都会有一个 图标。这个图标表示Blogbus支持RSS功能&#xff08;目前是RSS 2.0&#xff09;&#xff0c;即所谓的新闻聚合功能。 点击 图标&#xf…

京东的商品搜索功能是如何实现的_如何精准查询京东商品销量?分享一个京东运营小妙招...

京东平台和其他平台商品信息展示不一样&#xff0c;在京东平台商品的销售额无论是累计的还是当月的数据都没有展示&#xff0c;即便是通过商家后台的京东商智也是只能看到销售额的指数&#xff0c;这就给京东商家做竞品分析时设置了障碍&#xff0c;无法获取到竞品的真实销售额…

java zip解压进度条_java读取文件显示进度条的实现方法

实现这个功能比较简单&#xff0c;用到的类有两个&#xff1a;progressmonitorinputstream(主要是整个类) 和 progressmonitor &#xff0c;它们在javax.swing中大体思路&#xff0c;你要首先知道整个文件的大小&#xff0c;和当前已经读取文件的大小&#xff0c;获得整个文件大…

ubuntu下软件中心闪退问题解决

前段时间不知道做了什么导致&#xff0c;ubuntu下的软件中心进不去。没事点开后就立马闪退出去。 然后重新安装软件中心解决了 重装命令&#xff1a; sudo apt-get install --reinstall software-center software-center-aptdaemon-plugins 当然也可以选择用其他包管理器&#…

python 可视化监控平台_python可视化篇之流式数据监控的实现

preface 流式数据的监控&#xff0c;以下主要是从算法的呈现出发&#xff0c;提供一种python的实现思路 其中&#xff1a; 1.python是2.X版本 2.提供两种实现思路&#xff0c;一是基于matplotlib的animation&#xff0c;一是基于matplotlib的ion 话不多说&#xff0c;先了解大概…

java 不执行构造函数_函数作为构造函数执行,但不作为函数执行

我在displayandmove.as文件中有以下代码&#xff1a;package {import flash.display.MovieClip;public class FigureConstruct extends MovieClip {public function displayandmove() {this.height stage.stageHeight/5;this.width stage.stageWidth/5;}}}我在displayandmove…

codeforce 606A - Magic Spheres

题意&#xff1a;a,b,c三种球&#xff0c;能把俩个一样的球变成另一颜色不一样的球。给你目标x,y,z&#xff0c;问能否经过变化至少达打目标。 1 #include<iostream>2 #include<stdio.h>3 #include<stdlib.h>4 #include<memory.h>5 #include<string…

cmd cd 无法切换目录_一分钟掌握cmd基础操作,告别鼠标

cmd基础操作cmdcmd是command的缩写&#xff0c;一直伴随着windows操作系统。有时称为&#xff1a;控制台窗口&#xff0c;cmd窗口&#xff0c;黑窗口&#xff0c;命令行窗口等。其实&#xff0c;在unix系统&#xff0c;Linux&#xff0c;MacOS等几乎所有的操作系统中&#xff0…

jsp java代码_jsp内的java代码不执行,急啊!!大家来看看!

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼我的jsp页面上的java代码和html代码是穿插的&#xff0c;用System.out.println去跟踪的时候&#xff0c;内的代码都不执行&#xff0c;html都是执行的&#xff01;怎么回事啊&#xff1f;没有报错&#xff0c;没有任何”错误“的迹…

css 背景图怎么设置自动填充满_CSS属性设置 -- 背景样式

Ⅰ background-color: -- 设置标签的背景颜色rgba(0,0,0,0.65); -- (红,緑,蓝三原色,透明度)只能给背景设置透明度opacity: 0.65; -- 改变整个标签的透明度<style>Ⅱ background-image: --设置标签的背景图片url("图片网址"); -- 如果图片的大小没有标签大&…

EJB通过ANT提高EJB应用程序的开发效率、无状态发展本地接口bean、开发状态bean...

该jboss集成到eclipse 关掉Jboss控制台新闻Ctrlc&#xff0c;在MyEclipse→Servers→Jboss可配置JBoss。通过ANT提高EJB应用的开发效率 在HelloWorld 增加ANT&#xff0c;右击项目新建xml&#xff1a;build.xml&#xff0c;右击打开方式选择Ant .. 相应用进行编译、打包、公布、…

mysql-8.0.12语法_mysql-8.0.12 (免安装版) 安装详解

mysql-8.0.12 (解压版) 安装详解 错误解决第一步&#xff1a;mysql-8.0.12 (解压版)下载地址&#xff1a;https://www.mysql.com/downloads/第二步&#xff1a;配置初始化my.ini在mysql的bin目录中创建my.ini&#xff0c;将以下内容复制其中[mysqld]#设置3306端口port3306#设置…

python扩展库不是用于科学计算的有_有哪些科学计算的开源库

2017-03-19 回答 比较火爆的android开源库有以下&#xff1a; 1、volley 主要有以下模块&#xff1a; (1) json&#xff0c;图像等的异步下载&#xff1b; (2) 网络请求的排序&#xff08;scheduling&#xff09; (3) 网络请求的优先级处理 (4) 缓存 (5) 多级别取消请求 (6) 和…

mysql中间件面试题_面试题集锦-中间件 - 春哥大魔王的博客的个人空间 - OSCHINA - 中文开源技术交流社区...

Mysql引擎区别&#xff0c;聚簇索引是数据&#xff0c;非聚簇索引是引用&#xff0c;普通索引和主键索引两棵树&#xff0c;普通索引到主键索引有个回表&#xff0c;建立覆盖索引减少回表&#xff0c;利用前缀索引&#xff0c;注意索引顺序&#xff0c;隔离级别默认rr&#xff…

php开发客服系统(持久连接+轮询+反向ajax)

欢迎在php严程序 - php教程学习AJAX教程, 本节课讲解&#xff1a;php开发客服系统(持久连接轮询反向ajax) php开发客服系统(下载源码) 用户端(可直接给客户发送消息)客服端(点击用户名.即可给该用户回复消息) 讲两种实现方式&#xff1a;一&#xff1a;iframe 服务器推技术com…