小叙背景

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函数的更多相关文章

  1. Asc函数与Chr函数

    返回值: Integer    返回字符串中第一个字符的字符代码.    提示: Chr函数可以将一个Ascii码转换为相对应的字符 语法:   Asc(string) string,必须参数,字符串 ...

  2. excel手机号码归属地批量公式查询 vlookup函数

    Excel手机号码归属地 批量公式查询 vlookup函数 xls 手机号码 添加一列 地区归属地 使用      公式:=(VLOOKUP(LEFT(B2,7),号段数据库!B:D,2,0)& ...

  3. excel判断单元格包含指定内容的函数用=IF(COUNTIF(A1,"*内容*"),"0","1")

    前面我们聊过怎样将Excel包含某字符的单元格填充颜色,这边我们用另外一种方法来实现:excel判断单元格包含指定内容的函数 选中需要显示结果的单元格,假设我们要判断第一行第一列的单元格A1是否含有“ ...

  4. Excel VBA入门(六)过程和函数

    前面讲过,VBA代码有两种组织形式,一种就是过程(前面的示例中都在使用),另一种就是函数.其实过程和函数有很多相同之处,除了使用的关键字不同之外,还有不同的是: 函数有返回值,过程没有 函数可以在Ex ...

  5. 个人永久性免费-Excel催化剂功能第46波-区域集合函数,超乎所求所想

    在常规自定义函数的世界中,一般情况下,仅会输入一堆的参数,最终输出一个结果值,在以往Excel催化剂的自定义函数,已经大量出现输入一堆参数返回多个结果值并自动输出到多个单元格区域内.此项技术可运用的场 ...

  6. Excel催化剂开源第11波-动态数组函数技术开源及要点讲述

    在Excel催化剂中,大量的自定义函数使用了动态数组函数效果,虽然不是原生的Excel365版效果(听说Excel2019版取消了支持动态数组函数,还没求证到位,Excel365是可以用,但也仅限于部 ...

  7. [转]EXCEL截取字符串中某几位的函数——LeftMIDRight及Find函数的使用

    原文地址:http://blog.sina.com.cn/s/blog_3f136a180102ymq5.html EXCEL截取字符串中某几位的函数 ——Left MID Right及Find函数的 ...

  8. 给定一个字符串,把字符串内的字母转换成该字母的下一个字母,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, 字符串内的其他字 ...

  9. JavaScript 语法——字面量,变量,操作符,语句,关键字,注释,函数,字符集

    JavaScript 是一个程序语言. 语法规则定义了语言结构. 它是一个轻量级,但功能强大的编程语言.   ㈠JavaScript 字面量 在编程语言中,一般固定值称为字面量,如 3.14. ⑴数字 ...

随机推荐

  1. (1.2)学习笔记之mysql体系结构(数据库文件)

    InnoDB存储引擎体系结构图 1.InnoDB数据库的结构 (1)redo log:这里的redo log不是数据的redo log,InnoDB本也是一个数据库,身具有的redo log,所以这里 ...

  2. Passive Event Listeners——让页面滑动更加流畅的新特性

    Passive Event Listeners - 被动事件监听器 在写webapp页面的时候,Chrome 提醒 code 1 <code>[Violation] Added non-p ...

  3. hduoj-1301 Jungle Roads(最小生成树-克鲁斯卡尔和普里姆求解)

    普里姆求解: #include<cstdio> #include<cmath> #include<cstring> #include<iostream> ...

  4. python--函数基础一

    一.函数意义:可读性,复用性强 # def my_len(s): #def 关键词开头,my_len函数名 # i=0 # for k in s: # i+=1 # print(i) # return ...

  5. Angular 4 变更检测机制 ChangeDetectorRef 使用方法

    1.在angular 2中,回调函数的返回结果,不会自动更新视图层的显示,可以用 ChangeDetectorRef 来驱动angular更新视图. import {ChangeDetectorRef ...

  6. 第二章 部署Kubernetes集群准备环境

    一.centos7开机自动联网设置 1.使用root用户登录进入Linux,打开进去终端 2.在终端中输入:cd  /etc/sysconfig/network-scripts 3.ll命令找到目录下 ...

  7. Hive速览

    一.概述 Hive由Facebook开源,是一个构建在Hadoop之上的数据仓库工具 将结构化的数据映射成表 支持类SQL查询,Hive中称为HQL 1.读模式 2.Hive架构 3.使用Hive的原 ...

  8. vue 多选框 checkbox 父到子传值

    vue多选功能, 修改时选中的状态不能从当前组件中得到,从父组件中传过来. 这里 新增和修改封装了一个组件,在点击确定按钮后,会发送新增或修改请求,重新渲染页面.但是在点击[新增]/ [修改]按钮时, ...

  9. python3 schedule定时任务

    import time import schedule # cd C:\Python36-32\Scripts pip install schedule # py文件名字不能叫schedule,否则会 ...

  10. QT之sqlite连接

    啥也没做,按说明直接啪啪写一堆代码 QSqlDatabase db = QSqlDatabase::addDatabase("QSQLITE"); //open datebase ...