当前位置: 首页 > ai >正文

ASCII码对应表

       计算机都是用二进制表示的,但是这种表示方法让人理解很困难。因此人们编制了统一的信息交换代码,也就是ASCII码表,它的全称是“美国信息交换标准代码”。

1.ASCII码总览表

2.可见字符之ASCII码表

可见字符是指在计算机中可以直接显示在屏幕或其他输出设备上的字符,包括英文字母、数字、标点符号等。‌在ASCII码表中,可见字符的范围是从空格(32)到波浪号(126),共95个。‌

3.不可见字符

不可见字符是指在屏幕上无法显示的字符,通常包括空格、制表符、换行符等。‌这些字符虽然在文本中存在,但在视觉上无法直接看到,因此被称为不可见字符。‌

不可见字符的常见类型

  1. 空格(Space)‌:用于在文本中创建空白区域。
  2. 制表符(Tab)‌:用于在文本中创建水平制表位,通常用于对齐文本。
  3. 换行符(Newline)‌:用于在文本中创建新行。
  4. 回车符(Carriage Return)‌:用于在文本中创建回车,通常与换行符一起使用。
  5. 零宽度空格

(Zero Width Space)‌:这种空格在视觉上不可见,但占用一个字符的位置。

4.编程中实际问题:

        有时候会遇到数据库中的属性,用 ‘=’ 查询不出来,用 like查询可以,使用update却又不能更新,这种情况就是遇到了不可见字符。

解决方法:

# 查询结果为空,表里确实显示 ‘douzi’
select * from user where name = 'douzi';
# 使用模糊查询,可以出现数据行
select * from user where name like '%douzi%';
# 尝试使用 trim函数查询,也可以出现,表示 值里含有 不可见空格
select * from user where trim(name) = 'douzi';
# 更新属性无效,表示里边有不可见字符,mysql认不出
update user set name = trim(name);# 欺骗mysql,先修改一个值,在改回来
update user set name = concat(trim(name), ' ');
update user set name = trim(name);

再次用 ‘=’ 查询就出来了。

5.编程中如何使用不可见字符,坑队友呢?

     在Java中,如果你想使用控制字符(例如DC4),你可以通过多种方式来实现。DC4是一个控制字符,其ASCII码为20(十六进制0x14)。在文本中直接插入这个字符通常用于特定的控制目的,比如在打印机控制语言(PCL)中或者在特定的终端控制序列中使用。

方法1:使用ASCII码

     你可以直接使用DC4的ASCII码值(20或0x14)来发送这个字符。在Java中,你可以通过强制类型转换来得到这个字符:

char dc4Char = (char) 20; // 或者使用 (char) 0x14
System.out.println(dc4Char);

方法2:使用转义序列

      在某些情况下,你可能需要在字符串中使用DC4字符。在Java字符串中,你可以通过\u后跟4位十六进制数的方式来插入Unicode字符:

String dc4String = "\u0014";
System.out.println(dc4String);

方法3:写入文件或网络流

      如果你需要将DC4字符写入文件或通过网络发送,你可以使用字节流而不是字符流。这是因为DC4通常用于底层通信协议,如通过网络发送控制命令:

import java.io.FileOutputStream;
import java.io.IOException;
import java.io.OutputStream;public class Main {public static void main(String[] args) {try (OutputStream os = new FileOutputStream("output.txt")) {byte[] dc4Bytes = new byte[] { 20 }; // 或者使用 { 0x14 }os.write(dc4Bytes);} catch (IOException e) {e.printStackTrace();}}
}

 方法4:在终端或打印机控制序列中使用

     如果你在使用DC4来控制打印机或其他设备,你可能需要按照设备的特定协议构造控制序列。例如,在PCL中,DC4可以用于特定的功能:

// 示例:向打印机发送一个带有DC4的控制序列(这取决于你的打印机如何解释DC4)
byte[] controlSequence = new byte[] { 0x1B, '*', 'r', 0x14, '1', '2', '3' }; // ESC * r DC4 1 2 3
try (OutputStream os = new FileOutputStream("printer_control_sequence.pcl")) {os.write(controlSequence);
} catch (IOException e) {e.printStackTrace();
}

      在这些例子中,你需要根据你要控制的设备或系统的具体要求来调整使用DC4的方式。每种方法都适用于不同的场景,例如直接打印、文件写入或网络通信。确保你理解你的目标设备和系统是如何解释和使用这些控制字符的。

http://www.xdnf.cn/news/9021.html

相关文章:

  • call的作用是什么,为什么要使用它?
  • AI工具使用的最佳实践,如何通过AI工具提高创作与工作效率
  • react基础知识(下)
  • A-9 OpenCasCade读取STEP文件中的NURBS曲面
  • 知道Metasploit 吗?
  • C 语言学习笔记(指针6)
  • shell之通配符及正则表达式
  • 题目 3334: 蓝桥杯2025年第十六届省赛真题-园艺
  • 解锁MCP:AI大模型的万能工具箱
  • 《狂野时代》获第78届戛纳影展特别奖
  • 用深度学习提升DOM解析——自动提取页面关键区块
  • AtCoder Beginner Contest 407
  • Kubernetes--主机启用防火墙
  • 告别延迟!modbus tcp转profine网关助力改造电厂改造升级
  • mvn-help 插件clean install 后本地mvn库没重新生成jar包
  • Word VBA 教程|一键将 PNG/JPG 图片插入每一页(浮于文字上方,固定大小)
  • 如何把 Microsoft Word 中所有的汉字字体替换为宋体?
  • 鸿蒙OSUniApp 制作悬浮按钮与菜单组件#三方框架 #Uniapp
  • awr报告生成
  • orm详解--查询执行
  • SiteMap Generator:免费、快速、强大的在线网站地图生成工具
  • 高电流测量新突破:借助铜进行温度补偿
  • Vue列表渲染
  • 两阶段法目标检测发展脉络
  • 多模态大模型前沿技术进展与应用实践
  • leetcode617.合并二叉树:迭代法中层序遍历与队列操作的深度解析
  • 右键打开 pycharm 右键 pycharm
  • 无法访问Docker官网,国内如何合规高效安装Docker软件
  • Python pytest的应用
  • IAM角色访问AWS RDS For MySQL