Excel函数——ANSI字符集与Code、Char、Asc函数
小叙背景
Windows系统下,默认的字符集为ANSI,该字符编码方式在不同语言环境下采用不同的编码方案,在中文系统下ANSI编码是GBK。ANSI由ASCII扩展而来,ANSI下无论何种具体的编码方案,其前128个编码均为固定ASCII字符,这128个字符为英文环境下的大小写字母、数字、常用符号与控制符。
Code 与 Char
Code(text) 返回文本字符串中第一个字符的数字代码。
Char(number) 用于返回对应于数字代码的字符。
返回的代码或字符对应于计算机当前使用的字符集(ANSI),在中文环境下即是GBK字符集。这两个函数在ANSI字符集下是可以互相转换的,但是当遇到Unicode字符时就会出现问题。
两个函数的实际意义一般是用作辅助字符串处理,具体啥用处呢?
举个栗子
曾经在QQ上见网友@六号(355832828)@1661907132讨论QQ表情字符是如何被QQ识别的,对此博主进行了分析与解惑。
问题是这样的:
手机QQ复制一个表情,粘贴到别处,你会发现它是“/羊驼”,但是在QQ输入框里敲进“/羊驼”,发现它并不能被QQ识别,发出去的是输入的文字“/羊驼”。
博主认为QQ表情的真实值“/羊驼”(复制的)中应该是有不可见的控制字符的,而这个字符应该是在字符串的首位。
所以手机上用Excel 的Code函数试验了一下,发现它是一个ASCII值为20的控制符,具体是什么字符可以自己去翻ASCII码表。在Excel中用=CHAR(20)&"/羊驼"拼出一个字符串,复制一下在QQ粘贴便是羊驼的表情了。
题外话:
受这个故事的启发,博主对在处理ArcGis标注时字符前的空格会被标注引擎“吃掉”这件事有了这样一个想法——是否可以在标注字符前加入不可见控制符,避免空格被“吃掉”?试验结果是不可以,因为控制字符会显示为“口”。那么,中文下的空格会不会被吃掉呢?测试可行,VBS下表示中文空格用chr(41377)。
再举两个
Case1
如果在Excel中进行了硬换行,先要删除换行符,除了替换框用小键盘Alt+10键入进行替换外,还可以使用=SUBSTITUTE(A3,CHAR(10),"")进行函数处理,这里Char(10)便辅助输入了回车符。
Case2
使用Excel 的SUBSTITUTE函数进行替换操作时,被替换(第2参)与替换为(第3参)的字符串需要使用英文的双引号("")包裹,如果这两个参数就是引号呢?使用Char(34)辅助输入有没有很爽快?
ASC
Asc(text) 对于双字节字符集 (DBCS) 语言(中文就是),该函数将全角(双字节)字符转换成半角(单字节)字符。
实际用处呢就是如下图,有时候一些摸不着头脑的队友录入数据时使用了全角竟不自知,对于他们的数据可以使用asc拯救一下。
Excel函数——ANSI字符集与Code、Char、Asc函数的更多相关文章
- Asc函数与Chr函数
返回值: Integer 返回字符串中第一个字符的字符代码. 提示: Chr函数可以将一个Ascii码转换为相对应的字符 语法: Asc(string) string,必须参数,字符串 ...
- excel手机号码归属地批量公式查询 vlookup函数
Excel手机号码归属地 批量公式查询 vlookup函数 xls 手机号码 添加一列 地区归属地 使用 公式:=(VLOOKUP(LEFT(B2,7),号段数据库!B:D,2,0)& ...
- excel判断单元格包含指定内容的函数用=IF(COUNTIF(A1,"*内容*"),"0","1")
前面我们聊过怎样将Excel包含某字符的单元格填充颜色,这边我们用另外一种方法来实现:excel判断单元格包含指定内容的函数 选中需要显示结果的单元格,假设我们要判断第一行第一列的单元格A1是否含有“ ...
- Excel VBA入门(六)过程和函数
前面讲过,VBA代码有两种组织形式,一种就是过程(前面的示例中都在使用),另一种就是函数.其实过程和函数有很多相同之处,除了使用的关键字不同之外,还有不同的是: 函数有返回值,过程没有 函数可以在Ex ...
- 个人永久性免费-Excel催化剂功能第46波-区域集合函数,超乎所求所想
在常规自定义函数的世界中,一般情况下,仅会输入一堆的参数,最终输出一个结果值,在以往Excel催化剂的自定义函数,已经大量出现输入一堆参数返回多个结果值并自动输出到多个单元格区域内.此项技术可运用的场 ...
- Excel催化剂开源第11波-动态数组函数技术开源及要点讲述
在Excel催化剂中,大量的自定义函数使用了动态数组函数效果,虽然不是原生的Excel365版效果(听说Excel2019版取消了支持动态数组函数,还没求证到位,Excel365是可以用,但也仅限于部 ...
- [转]EXCEL截取字符串中某几位的函数——LeftMIDRight及Find函数的使用
原文地址:http://blog.sina.com.cn/s/blog_3f136a180102ymq5.html EXCEL截取字符串中某几位的函数 ——Left MID Right及Find函数的 ...
- 给定一个字符串,把字符串内的字母转换成该字母的下一个字母,a换成b,z换成a,Z换成A,如aBf转换成bCg, 字符串内的其他字符不改变,给定函数,编写函数 void Stringchang(const char*input,char*output)其中input是输入字符串,output是输出字符串
import java.util.Scanner; /*** * 1. 给定一个字符串,把字符串内的字母转换成该字母的下一个字母,a换成b,z换成a,Z换成A,如aBf转换成bCg, 字符串内的其他字 ...
- JavaScript 语法——字面量,变量,操作符,语句,关键字,注释,函数,字符集
JavaScript 是一个程序语言. 语法规则定义了语言结构. 它是一个轻量级,但功能强大的编程语言. ㈠JavaScript 字面量 在编程语言中,一般固定值称为字面量,如 3.14. ⑴数字 ...
随机推荐
- Python测试代理ip是否有效
方式一: 通过icanhazip.com返回的ip地址进行检测 import requests '''代理IP地址(高匿)''' proxy = { 'http': 'http://117.85.10 ...
- Java技术专区-虚拟机系列-虚拟机参数(常用)
基础参数系类(内存分配) -server:一定要作为第一个参数,在多个CPU时性能佳 -Xmn:young generation的heap大小,一般设置为Xmx的3.4分之一-Xms:初始Heap大小 ...
- 9、springcloud整合logback打印sql语句
Logback是由log4j创始人设计的又一个开源日志组件.logback当前分成三个模块:logback-core.logback- classic和logback-access.logback-c ...
- Javafx弹窗
在javafx中可能用到一些弹窗,比如点击某个按钮后弹出弹窗提示信息等等 Alert alert = new Alert(AlertType.INFORMATION); alert.setTitle( ...
- react 16.3+ 新生命周期 作业
1.有哪些⽣命周期被舍弃(3个),哪些⽣命 周期是新增(2个)? componentWillMount().componentWillReceiveProps().componentWillUpdat ...
- 2018-8-10-win10-uwp-ping
title author date CreateTime categories win10 uwp ping lindexi 2018-08-10 19:17:19 +0800 2018-2-13 1 ...
- Apache Hadoop集群离线安装部署(三)——Hbase安装
Apache Hadoop集群离线安装部署(一)——Hadoop(HDFS.YARN.MR)安装:http://www.cnblogs.com/pojishou/p/6366542.html Apac ...
- Linear Regression(一)——
Linear Regression(一)-- 机器学习 回归 定义 回归的定义 在平面上存在这些点我希望能用一条直线尽可能经过它们. 于是我们画了下面的一条直线 这样的过程就叫做回归. 这个过程中我们 ...
- 解决mybatisplus saveBatch 或者save 无法插入主键问题
解决mybatisplus saveBatch 或者save 无法插入主键问题 通过跟踪源码后得出结论,由于插入的表的主键不是自增的,而是手动赋值的,所以在调用saveBatch 执行的sql语句是没 ...
- vector注意事项
vector注意事项: 如果你添加元素,但是vector的容量(是容量,不是大小,容量比大小大,会预先多分配空间)不够的话,系统就会重新分配一段内存,然后把原先的内容全部拷贝过去,然后删除原先的内容. ...