首页 > 其他分享 >4week-3字符串

4week-3字符串

时间:2023-01-08 23:35:21浏览次数:52  
标签:十六进制 61 fmt s4 Println 4week 字符串

一.十六进制,十进制,在ASCII中的表示对应关系

1. 0

十进制 十六进制 字符
0 0 NULL

  0x01    //数值表达方式
'\x00'    //十六进制字符表达
"\x00"    //十六进制字符串

2.tab

* 字符表示 
  十六进制  '\x09'  
  或者       '\t' 

* 字符串表达
  "\x09\t"  2个字符 

3.\n 换行符,新的一行

* 字符表示 
  '\n'  或者十六进制  'x0a'

4. \r 回车

也支持换行.看在哪种操作系统上

* 字符表达
      或者 '\r'  或者十六进制  '\x0d'
* 字符串表达
      windows  回车换行
        "\r\n"  2个字符,必须用字符串
        或者
        十六进制表达 "\x0d\x0a"

      linux
        '\n'  //换行
      
      mac
        '\r'  //换行

二.我们看到的字符和字符之间的宽度和,存储在磁盘的宽度是2回事

  • 比如内存中存储的是0x61 0A 61 编辑器打开后,把0x61翻译成a,把0A翻译成tab,把61翻译成b----> a换行b

1. "a\tb" 字节问题

len3,占用都是3个字节
"a空格b"    内存中 "0x61 20 61 "
"atabb"     内存中 "0x61 0A 61 " 
"a\tb"      内存中  "0x61 0A 61 "  \t是一个字节

2.有的编辑器不支持键盘上的"tab键"编程时候保险的方式 用\t

func main() {
s1 := "a b" //a和b中间按的是键盘上的"tab键".有的编辑器不支持
s2 := "a\tb" //保险做法:\t
s3 := "a\x09b" //不要看表面,要看内存
s4 := "a\tb" //如果要显示"",用\转义
fmt.Println(s1, s2, s3, s4)
}

3.明确长度,换行符要,写清楚,由于编辑器的问题,否则不准确

s4 := "a\nb"
fmt.Println(s4, len(s4), []byte(s4))

}

三.字符串笔记大小

*字符串笔记,比较的是ascii

	//字符串比较大小.比较的是ascii里的十六进制
	fmt.Println('A' > 'a')
	fmt.Println("a" > "A")
	fmt.Println("AA" > "Aa")
	fmt.Println("AAa" > "AaA")

标签:十六进制,61,fmt,s4,Println,4week,字符串
From: https://www.cnblogs.com/john5yang/p/17035397.html

相关文章