native2ascii没有找到_ascii数字转换

native2ascii没有找到_ascii数字转换native2ascii是sunjavasdk提供的一个转码工具,用来将别的文本类文件(比如*.txt,*.ini,*.properties,*.java等等)编码转为Unicode编码。1.如何获取native2ascii.exe?安装了jdk后,假如你是在windows上安装,那么在jdk的安装目录下,会有一个bin目录, 该目录下就有我们所需要的nativ

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

native2ascii是sun java sdk提供的一个转码工具, 用来将别的文本类文件(比如 *.txt, *.ini, *.properties, *.java 等等)编码转为Unicode编码。

1. 如何获取 native2ascii.exe?

安装了jdk后,假如你是在windows上安装,那么在jdk的安装目录下,会有一个bin目录, 该目录下就有我们所需要的native2ascii.exe 工具

2. native2ascii.exe使用方法:

命令的语法格式:

native2ascii -[options] [inputfile [outputfile]]

  说明:

  -[options]:表示命令开关,有两个选项可供选择

  -reverse:将Unicode编码转为本地或者指定编码,不指定编码情况下,将转为本地编码。

  -encoding encoding_name:转换为指定编码,encoding_name为编码名称。

   [inputfile [outputfile]]

   inputfile:表示输入文件全名。

   outputfile:输出文件名。如果缺少此参数,将输出到控制台。

举例: 把需要进行国际化的文件(如下图)拷贝到 C:\Program Files\Java\jdk1.6.0_31\bin 目录下, 应用native2ascii.exe工具进行转码。

native2ascii没有找到_ascii数字转换

通过cmd命令进入DOS命令窗口进行如下操作:

native2ascii没有找到_ascii数字转换

通过native2ascii命令转码成功后,如下图:

native2ascii没有找到_ascii数字转换

备注:native2ascii.exe是一个应用比较简单的转码工具,并且转码是可逆的。

试试如下命令:

native2ascii -reverse  new.txt   yan.txt

结果:

native2ascii没有找到_ascii数字转换

native2ascii -encoding gbk  old.txt   new.txt

结果:

native2ascii没有找到_ascii数字转换

java代码实现的jdk工具native2ascii.exe

分享个java实现的native2ascii.exe的转换工具,很有用。

native2ascii没有找到_ascii数字转换

package com.zuidaima;

/**

 * native2ascii.exe Java code implementation.

 * 

 * @author

 * @version 1.0

 */

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;

  }


  public static void main(String[] args) {

    String uni = “\u5185\u5bb9ID\u4e0d\u80fd\u4e3a\u7a7a”;

    System.out.println(ascii2Native(uni));

  }


}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/196992.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • densenet详解_dense参数

    densenet详解_dense参数DenseNet于论文《》中提出,是CVPR2017的oral。论文提出DenseNet并与ResNet和Inception做对较。为提升网络的效果,一般操作是增加网络的深度和宽度,但论文作者另辟蹊径,聚焦于feature的极致利用以获得更佳效果和更少参数。对于梯度消失问题,ResNet等网络使用跳层连接结构加以解决。作者延续该思路,提出DenseBlock,在保证网络层间最大程度的信息传输的同时,直接将所有层连接起来。……………………

  • git拉取代码密码错误_idea提交git

    git拉取代码密码错误_idea提交gitgit提交代码1:一定要先pull,(在本地建立仓库)eclipse中点击file找到term中的pull,同步拉取远程代码,idea中tomcat旁边斜向下箭头,拉取,首次拉取要输入用户名密码,2:提交到本地仓库commit,并填写提交备注,方便查找,3:push推送远程分支,提交到git分支。常见的pull失败:冲突-多个人修改同一个文件,别人修改后自己也修改导致拉取失败,解决冲突…

    2022年10月21日
  • 双线性插值(超级易懂的)「建议收藏」

    双线性插值(超级易懂的)「建议收藏」双线性插值简介在两个方向分别进行一次线性插值(首先在一个方向上使用线性插值,然后再在另一个方向上使用线性插值执行双线性插值。尽管每个步骤在采样值和位置上都是线性的,但是插值总体上不是线性的,而是在采样位置上是二次的。)作用一般用于重新采样图像和纹理。计算四个周围纹理像素的属性(颜色,透明度等)的加权平均值,并将其应用于屏幕像素。(简单来说,我要求一个已知坐标的像素值,先去找他四个周围已…

  • PyCharm激活码永久有效PyCharm2020.3.5激活码教程-持续更新,一步到位[通俗易懂]

    PyCharm激活码永久有效PyCharm2020.3.5激活码教程-持续更新,一步到位[通俗易懂]PyCharm激活码永久有效2020.3.5激活码教程-Windows版永久激活-持续更新,Idea激活码2020.3.5成功激活

  • 做高通平台安卓驱动感言

    做高通平台安卓驱动感言

  • Mint-UI

    Mint-UI一、MUI不同于Mint-UI,MUI只是开发出来的一套很好用的代码片段,里面提供了配置的样式,配置的HTML代码段,类似于Bootstrap;而Mint-UI,是真正的组件库,是使用了Vue技术

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号