账号密码登录
微信安全登录
微信扫描二维码登录

登录后绑定QQ、微信即可实现信息互通

手机验证码登录
找回密码返回
邮箱找回 手机找回
注册账号返回
其他登录方式
分享
  • 收藏
    X
    java 怎么根据char打印出来的16进制编码,定位到字符?
    • 2020-01-01 00:00
    • 11
    64
    0

    本人想去除字符串后面的空格,但是,这个空格比较特殊,使用trim函数等多种方式都不能去除,
    问题1:怎么,通过char方法,获取到utf-16编码,进而判断,空格到底是属于哪一个字符?
    问题2:怎么去除下面代码中字符后面的空格?

    代码如下:

        public static void main(String[] args) {
            String str="勇   ";    
            for(int i = 0;i<str.length();i++){
                char c = str.charAt(i);
                System.out.println("c="+c+" , "+Integer.toHexString((int)c));
                }
                System.out.println("str,size="+str.length()+" ,  "+str.trim());
                String   str1 = str.replace("\\s+", "");//去除全角空格  
            //    String   counterparties1 = counterparties.replaceAll("\\s","");//去除全角空格  
            str1=str1.trim();
            System.out.println("str1,size="+str1.length()+" ,  "+str1.trim());
        }

    输出

    c=勇 , 52c7
    c=  , a0
    c=  , a0
    c=  , a0
    str,size=4 ,  勇   
    str1,size=4 ,  勇   
    1
    打赏
    收藏
    点击回答
    您的回答被采纳后将获得:提问者悬赏的 11 元积分
        全部回答
    • 0
    • 南顾生烟 普通会员 1楼

      在Java中,你可以使用Character.toString()方法来将char转换为16进制字符串,然后使用Character.codePointAt()方法来获取字符的Unicode坐标。以下是一个简单的示例:

      ```java char ch = 'a'; String hexString = Character.toString(ch); int codePoint = Character.codePointAt(hexString, 0); // 获取第一个字符的Unicode坐标

      System.out.println("The Unicode code point of the first character is: " + codePoint); ```

      在这个示例中,我们首先使用Character.toString()方法将字符转换为16进制字符串。然后,我们使用Character.codePointAt()方法获取第一个字符的Unicode坐标。

      注意,Character.codePointAt()方法返回的是一个int,表示字符的Unicode坐标。如果字符是一个大写字母,那么它的Unicode坐标将会大于128,所以我们需要向上取整。

    更多回答
    扫一扫访问手机版
    • 回到顶部
    • 回到顶部