巧用多字符Char

我们很熟悉char这个数据类型和它的使用方式:

char c = 'a';

这个c变量在ASCII编码下是97

还有一种不常见的字符char的写法:

int i = `AaBb';

这个i变量的值按每个charASCII值转十六进制拼在一起,也就是说:

`AaBb`
-> '0x41'+'0x61'+'0x42'+'0x62'
-> '0x41614262' // 十进制1096893026

PS:这个组合方式和“大小端”有关系,上面是i386下的结果,多字符的长度限度为最多4个char知道了这个特效,我们就可以做些坏事,比如:

self.someButton.tag = 'SHIT';
...
if (button.tag == 'SHIT') {
    NSLog(@"I've got this shit button");
}

当然使用tag是很不推荐的写法,尽量不用。使用这个特性来避免些魔法数字或标记些整型数字还是极好的。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 3,479评论 3 44
  • 可以看我的博客 lmwen.top 或者订阅我的公众号 简介有稍微接触python的人就会知道,python中...
    ayuLiao阅读 3,174评论 1 5
  • 人物列表 上一章 目录 下一章 42 瓦尔特 那天晚上,我们抵足而卧,彻夜长谈。午夜过后,不知有多少次,说是夜深...
    梓人阅读 358评论 0 3
  • 今天看小说时,有一个情节说的是猪脚的亲友团在为猪脚服务时,由于认知有差距,在猪脚提出要创建一个***有限责任公司时...
    digman阅读 189评论 0 0
  • 迈向成功的最大障碍是恐惧,人为什么恐惧,因为心中有所担忧,害怕。 每个人心中都有恐惧,我们时时刻刻都担心别人会不会...
    半夏_1854阅读 698评论 0 1