phper 的Goland学习之路--- 字符和字符串处理

xiaoxiao2021-02-28  8

1、把字符串变成字符切片(字符数组):(字符切片以字节为基本单位)

            ch := ( []byte)字符串变量;   // ch  := ([]byte)("li离开");   占用 2+3+3 = 8个字节

字符切片 li离离离开开开\0离:占用三个字节;   开:占3个字节

2、遍历字符串:

        for i , ch  :=   range varString{      // ch is a rune 类型(int32)   }

如: s := “lipei华!”;   //共占用9个字节;

(0 Unicode-l)(1 Unicode-i)(2 Unicode-p)(3 Unicode-e)(4 Unicode-i)(5 Unicode编码-华,占3字节) (8 Unicode- !)

3、获取字符串中字符的个数:utf8.RUneCountInString("六号li");  // 字符的个数是:4个

    utf8.DecodeRune(p []byte)-- 解码字符切片p中的第一个字符,返回解码后的字符对应的int32(rune)和被解码的字符占用的字节数

      

4、直接把字符串转换成int32切片:

        格式:  s := []rune("lipei华!");

每个字符使用四个字节(int32)来表示;避免出现乱码的问题

arr[0]==larr[1]==i   arr[3]==p  arr[4]==earr[5]==i      arr[6]==华 arr[7 ]==i

lllliiiippppeeeeiiii华华华华!!!!

           

转载请注明原文地址: https://www.6miu.com/read-1750273.html

最新回复(0)