最近由于需要阅读比较老的文档,老文档里内存地址是用八进制而不是十六进制,所以需要写一个小工具,用来转换进制进制。虽然自带的计算器可以,但是数量一多比较麻烦。

一开始我想费劲吧啦写十二个转换函数,虽然有些函数可以套,但是还是蛮费劲的。所以我就寻找了一下简单方法,结果发现String类型有个特别神奇的方法,
就是使用下面的代码可以直接得到转换之后字符串:
String(a, radix: 16, uppercase: true)
各个参数含义如下:
- 这里的
a是源数值,你也可以直接在这写一个数字。 radix:后面是目标进制的大小,支持 2~36,也就是从 2 进制到 36 进制。uppercase:这个参数不一定要有,它是为了将一些进制输出的字母大写。
比如下面是是将 10 进制转换成 32 进制,并且将输出里的字母大写:

如果你想更改输入数字的进制,那么 Swift 支持 4 种原生支持的进制:
- 在数字前面加上
0b表示二进制,比如0b1011; - 在数字前面加上
0o表示八进制,比如0o240; - 在数字前面加上
0x表示十六进制,比如0x12F(这里的F大小写都可以); - 数字前什么都不加表示十进制,比如
123。
希望能帮到有需要的人~








![[第一章 web入门]SQL注入-2](https://img-blog.csdnimg.cn/img_convert/667a4d09cd5649568bec4b0b25a52ebb.png)






