教程集 www.jiaochengji.com
教程集 >  Golang编程  >  golang教程  >  正文 Golang基础 (字符型[byte和rune])

Golang基础 (字符型[byte和rune])

发布时间:2022-03-07   编辑:jiaochengji.com
教程集为您提供Golang基础 (字符型[byte和rune])等资源,欢迎您收藏本站,我们将为您提供最新的Golang基础 (字符型[byte和rune])资源
<h1>一.字符型概述</h1> <ul><li>

字符型存放单个字母或单个文字

</li><li>

Go语言不支持字符类型,在Go语言中所有字符值都转换为对应的编码表中int32值

</li><li>

Go语言默认使用UTF-8编码

</li><li>Go语言的字符有以下两种:一种是 uint8 类型,或者叫 byte 型,代表了 ASCII 码的一个字符。另一种是 rune 类型,代表一个 UTF-8 字符,当需要处理中文、日文或者其他复合字符时,则需要用到 rune 类型。rune 类型等价于 int32 类型</li></ul><h1>二.编码发展历史</h1> <ul><li>

最开始使用8个可开合晶体管表示世界万物,这就是字节的由来.后来生产出可以控制字节的机器,出现了计算机

</li><li>

把字节中32以下情况称为控制码,后在控制码基础上添加空格、标点符号、数字、大小写字母等直到127,最终形成了ANSI的ASCII码(American Standard Code for Information Interchange,美国信息交换标准代码),这时已经较好的支持英文了

</li><li>

随机计算机在全球的应用,在原ASCII基础上添加了新的字母、符号、横线竖线等直到255号,从128到255被称为扩展字符集但是此时计算机还是在只支持英文

</li><li>

等中国开始使用计算机,为了支持中文,保留了前127号,称这些为半角,把后面的内容以两个字节拼接形成中文汉字和表单符号,这后半部分就是全角,其中汉字6763个满足中文大部分情况的要求,称这个编码为GB2312

</li><li>

随着计算机在中国的普及,使用GB2312时有的汉字无法打出,又在GB2312基础上添加了近20000个汉字(包括繁体和符号等)形成GBK,后来为支持少数民族又在GBK基础上推出GB18080

</li><li>

全球中每个国家都有着自己的一套编码,ISO国际为了统一标准,重新定义一套编码,希望包含全球所有的文字和符号,俗称Unicode

</li><li>

随着互联网的快速发展,为解决Unicode网络传输中流浪浪费问题,出现了UTF编码,有UTF-8(8位传输)和UTF-16(16为传输)两种.其中UTF-8使用最多,为变长编码方式,中文占3个自己.

</li></ul><h1>三.字符示例</h1>

示例

<pre><code class="language-Go">package main import ( "fmt" "unicode/utf8" ) func main() { //定义数字i var i rune=24352 //十六进制为0x5F20 fmt.Println(i) //输出汉字张 fmt.Printf("%c\n",i) //获取转换后的内容 a:=fmt.Sprintf("%c",i) fmt.Println(a) //'_'为一个占位符,即忽略这个变量 //将转换后的字符转换为rune类型的值 r, _ := utf8.DecodeRuneInString(a);//返回 转换后的r和状态码size,此处通过占位符将size忽略 fmt.Println(r) // c := '张'; // fmt.Println(c) ; //24352 // fmt.Printf("%T", c) ;//int32 }</code></pre>

也可以使用单引号表示一个字符类型,但是本质还是正数

<pre><code>func main() { c := '张' fmt.Println(c) //24352 fmt.Printf("%T", c) //int32 }</code></pre>

 

到此这篇关于“Golang基础 (字符型[byte和rune])”的文章就介绍到这了,更多文章或继续浏览下面的相关文章,希望大家以后多多支持JQ教程网!

您可能感兴趣的文章:
Golang基础 (字符型[byte和rune])
golang lesson3 - 基础数据类型
2.GO语言之基本数据类型,运算符
golang基础数据类型-整型
2020-10-14Go语言基本类型:整型、浮点型、字符串
GO语言基础学习一 基本语法与使用
【GoLang】golang底层数据类型实现原理
go 语言编程
golang处理0x08不可见unicode字符
Go 语言数据类型:byte、rune与字符串

[关闭]
~ ~