ASCII码为0x01,0x02作为分隔符(这两个字符是键盘无法输入的)

ASCII码为0x01,0x02作为分隔符(这两个字符是键盘无法输入的)不知道大家在拼接字符串的时候是怎么做的 是不是采用 或 nbsp 这样做有的时候不很安全 因为你不能确保你传入的字符串中没有这几个字符 那怎么做能保证万无一失呢 nbsp ASCII 码为 0x01 0x02 的字符是键盘所不能输入的 这两个字符称作隐藏字符 对应的 8 进制是 001 002 打印出来的视觉效果与空格相同 但是相比空格的好处就是这两个字符是从键盘无法输入的 所以避免了如果数据中本身带空格 会错误的分割字符

不知道大家在拼接字符串的时候是怎么做的?是不是采用,或:? 

这样做有的时候不很安全,因为你不能确保你传入的字符串中没有这几个字符,那怎么做能保证万无一失呢? 
ASCII码为0x01,0x02的字符是键盘所不能输入的(这两个字符称作隐藏字符,对应的8进制是001,002,打印出来的视觉效果与空格相同,但是相比空格的好处就是这两个字符是从键盘无法输入的,所以避免了如果数据中本身带空格,会错误的分割字符串的尴尬),因为用这个能保证万无一失。 

Java代码  

  1. public String GetEnterpriseInfo(String code) {  
  2.           
  3.         Connection cn = null;  
  4.         PreparedStatement stm = null;  
  5.         ResultSet rs = null;  
  6.         String s = “”;  
  7.         byte  b1[] = {
    0x02};  
  8.         byte  b2[] = {
    0x01};  
  9.         String str1 = new String(b1);   
  10.         String str2 = new String(b2);   
  11.         try {  
  12.             cn = DBUtil.getConn();  
  13.             String sql = “select station_id,station_desc from  t_cfg_station_info where area_id like ‘%”+code+“%'”;  
  14.             stm = cn.prepareStatement(sql);  
  15.             rs = stm.executeQuery();  
  16.             while(rs.next()){  
  17.                 s += rs.getString(1)+str1+rs.getString(2)+str2;  
  18.             }  
  19.         } catch (Exception e) {  
  20.             e.printStackTrace();  
  21.         } finally {  
  22.             DBUtil.close(rs, stm, cn);  
  23.         }  
  24.         return s;  
  25.     }  



结果: 

ASCII码为0x01,0x02作为分隔符(这两个字符是键盘无法输入的)






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

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/220033.html原文链接:https://javaforall.net

(0)
上一篇 2026年3月17日 下午9:24
下一篇 2026年3月17日 下午9:24


相关推荐

  • 一篇文章了解相见恨晚的 Android Binder 进程间通讯机制

    一篇文章了解相见恨晚的 Android Binder 进程间通讯机制Android Binder 进程间通讯机制概述最近在学习 Binder 机制 在网上查阅了大量的资料 也看了老罗的 Binder 系列的博客和 Innost 的深入理解 Binder 系列的博客 都是从底层开始讲的 全是 C 代码 虽然之前学过 C 和 C 然而各种函数之间花式跳转 看的我都怀疑人生 毫不夸张的讲每看一遍都是新的内容 跟没看过一样 后来又看到了 Gityuan 的博客看到了一些图解仿佛发现了新大

    2026年3月17日
    1
  • Centos7根分区lvm扩容

    Centos7根分区lvm扩容给根分区/dev/mapper/cl-root扩容20G空间1、先创建一个分区,并把其调整为8eLVM存储卷格式#重读分区表或重启服务器[root@rsq-8-163~]#partprobe#格式化新分区之前先查看根分区是什么文件系统[root@rsq-8-163~]#mount|grep/dev/mapper/cl-root/dev/mapper/cl-r…

    2022年6月20日
    35
  • Linux设置FQDN

    Linux设置FQDNFQDN 是 FullyQualifi 的缩写 含义是完整的域名 例如 一台机器主机名 hostname 是 www 域后缀 domain 是 example com 那么该主机的 FQDN 应该是 www example com 另外 其实 FQDN 最后是以 来结尾的 但是大部分的应用和服务器都允许忽略最后这个点 Linux 允许用户通过 hostnam

    2026年3月19日
    2
  • 带求和符号的函数求导公式_幂级数如何求和函数

    带求和符号的函数求导公式_幂级数如何求和函数

    2022年10月10日
    6
  • java中long转integer_long(Long)与int(Integer)之间的转换

    java中long转integer_long(Long)与int(Integer)之间的转换最近由于在做一个众筹的项目 其中有一个查找项目支持数的接口 查找的方法定义的是一个 long 型的 我更新项目中的支持数的时候是 int 型的 所以需要在 long 型与 int 型之间转化 下面把转转化的详细方法记录一下 以便后面总结学习 一 将 long 型转化为 int 型 这里的 long 型是基础类型 longa 10 intb int a 二 将 Long 型转换为 int 型的 这里的 Lo

    2026年3月19日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

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