Java Unicode转义字符的小小研究

c4125

c4125

2016-02-19 14:30

下面图老师小编跟大家分享一个简单易学的Java Unicode转义字符的小小研究教程,get新技能是需要行动的,喜欢的朋友赶紧收藏起来学习下吧!

  转义字符
    所有的转义字符都是由 '' 打头的
    第二个字符
        0-9  :八进制
        u    :是Unicode转意,长度固定为6位
        Other:则为以下字母中的一个 b,t,n,f,r,",
              都不满足,则产生一个编译错误。

  
    当然了,提供八进制也是为了和C语言兼容.

    b,t,n,f,r 则是为控制字符.书上的意思为:描述数据流的发送者希望那些信息如何被格式化或者被表示.

    Unicode转义字符非常有趣
    它可以写在代码的任意位置,只要转义后是合法的.
    例如:

    int c=0u003b
    上面的代码可以编译通过,等同于int c=0; u003b也就是';'的Unicode代码

    上面的例子不能让人很信服,所以特地写了下面这一段代码用来将字符串转换成为unicode字符
    然后你可以将打印出来的代码放置在EggHello.Java中,然后运行它,结果是让人激动的。

  
  /*
   * author:鸡蛋 date:2004/11/10 字符串转换为Unicode
   */
  public class Asc2Unicode {
   private StringBuffer ch;

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

   private StringBuffer tch;

   Asc2Unicode(StringBuffer s) {
    ch = s;
    if (ch.length() 0)
     tch = new StringBuffer(1000);
   }

   void transform() {
    if (ch.length() 1)
     return;
    for (int i = 0; i ch.length(); i++) {
     (new Integer((int) ch.charAt(0))).toString();
     tch.append(new StringBuffer("u00"));
     tch.append(new StringBuffer(new String(Integer.toHexString((int) ch
       .charAt(i)))));
    }
   }

   StringBuffer getStr() {
    return tch;
   }

   public static void main(String[] argv) {
    Asc2Unicode au = new Asc2Unicode(new StringBuffer(new String(
      "public class EggHello{"
        + "   public static void main(String[] argv){"
        + "System.out.println("Hello,World");" + "}" + "}"
    )
    ));
    au.transform();
    System.out.println(au.getStr());
   }
  }

  
  打印如下:
  u0070u0075u0062u006cu0069u0063u0020u0063u006cu0061u0073u0073u0020u0045u0067u0067u0048u0065u006cu006cu006fu007bu0020u0020u0020u0070u0075u0062u006cu0069u0063u0020u0073u0074u0061u0074u0069u0063u0020u0076u006fu0069u0064u0020u006du0061u0069u006eu0028u0053u0074u0072u0069u006eu0067u005bu005du0020u0061u0072u0067u0076u0029u007bu0053u0079u0073u0074u0065u006du002eu006fu0075u0074u002eu0070u0072u0069u006eu0074u006cu006eu0028u0022u0048u0065u006cu006cu006fu002cu0057u006fu0072u006cu0064u0022u0029u003bu007du007d
  

(本文来源于图老师网站,更多请访问https://m.tulaoshi.com/bianchengyuyan/)

  
    感觉有点像加密的代码一样! 当然那都是掩耳盗铃。。。
    不过初看起来还是比较让人头晕的。

    Unicode转义就先研究到这里,喝点水,打会游戏。。。
  

展开更多 50%)
分享

猜你喜欢

Java Unicode转义字符的小小研究

编程语言 网络编程
Java Unicode转义字符的小小研究

MySQL的转义字符“”

编程语言 网络编程
MySQL的转义字符“”

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

MySQL的转义字符“\”

MySQL mysql数据库
MySQL的转义字符“\”

JAVA及相关字符集编码问题研究

Java JAVA基础
JAVA及相关字符集编码问题研究

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

MySQL 转义字符使用说明

编程语言 网络编程
MySQL 转义字符使用说明

Unicode:宽字节字符集

编程语言 网络编程
Unicode:宽字节字符集

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

升级win10后浏览器不能上网怎么办

升级win10后浏览器不能上网怎么办

引用一个能发email的JavaMail的例子

引用一个能发email的JavaMail的例子
下拉加载更多内容 ↓