V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lxk11153
V2EX  ›  Java

JavaScript 共有 6 种方法可以表示一个字符, Java 呢?方便输入一些特殊字符

  •  
  •   lxk11153 · 2020-08-22 13:02:28 +08:00 · 1834 次点击
    这是一个创建于 1558 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有了这种表示法之后,JavaScript 共有 6 种方法可以表示一个字符。

    '\z' === 'z'  // true
    '\172' === 'z' // true
    '\x7A' === 'z' // true
    '\u007A' === 'z' // true
    '\u{7A}' === 'z' // true
    
    • Java

      • java.lang.Character#toChars(int codePoint) (这样也算吧
      • 其它呢?
    • Shell 中呢?

    第 1 条附言  ·  2020-08-23 00:22:16 +08:00

    ps: js里", '是一样的,其实我更希望是

    "\z\z" === "zz"  // true
    
    第 2 条附言  ·  2020-09-08 15:22:18 +08:00

    重新描述问题: 在一个字符串中表示一个字符的多种方式,比js "z\172\x7A",shell echo -e "z\172\x7A"

    8 条回复    2020-09-08 19:15:08 +08:00
    lxk11153
        1
    lxk11153  
    OP
       2020-08-22 13:42:05 +08:00
    echo -e "\x7A"
    lxk11153
        2
    lxk11153  
    OP
       2020-08-22 13:43:56 +08:00
    echo -e "\172"
    ChanKc
        3
    ChanKc  
       2020-08-22 14:45:14 +08:00 via Android
    Java 可以进行 byte 层面的操作啊,还支持很多种编码格式。
    lxk11153
        4
    lxk11153  
    OP
       2020-08-22 15:54:05 +08:00
    @ChanKc #3 举个例子?
    passerbytiny
        5
    passerbytiny  
       2020-08-22 15:58:27 +08:00 via Android
    Literal 的表示方式,只有 "z" 是字符串 z,'z' 都不行(那是 char 类型的 z )。
    passerbytiny
        6
    passerbytiny  
       2020-08-22 16:12:04 +08:00 via Android   ❤️ 1
    如果用编程的方式来获取,那真得是很多,比如 String.valueOf(new char[] {122, 0172, 0x7A})等价与 "zzz" 。
    lxk11153
        7
    lxk11153  
    OP
       2020-09-08 15:13:27 +08:00
    补充 #2 https://www.gnu.org/software/coreutils/manual/html_node/echo-invocation.html

    ‘\0nnn’
    the eight-bit value that is the octal number nnn (zero to three octal digits), if nnn is a nine-bit value, the ninth bit is ignored

    ‘\nnn’
    the eight-bit value that is the octal number nnn (one to three octal digits), if nnn is a nine-bit value, the ninth bit is ignored

    ‘\xhh’
    the eight-bit value that is the hexadecimal number hh (one or two hexadecimal digits)
    lxk11153
        8
    lxk11153  
    OP
       2020-09-08 19:15:08 +08:00
    Java: https://www.runoob.com/java/java-basic-datatypes.html
    \ddd 八进制字符 (ddd)
    \uXXXX 16 进制 Unicode 字符 (xxxx)
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5037 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 01:10 · PVG 09:10 · LAX 17:10 · JFK 20:10
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.