<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                > ### Unicode字符編碼 * Unicode(字符集) : 為每一個「字符」分配一個唯一的 ID(學名為碼位 / 碼點 / Code Point * UTF-8(編碼規則) : 將「碼位」轉換為字節序列的規則(編碼/解碼 可以理解為 加密/解密 的過程)- 以 8 位為一個編碼單位的可變長編碼。會將一個碼位編碼為 1 到 4 個字節 * Go 語言的所有源代碼,都必須按照 Unicode 編碼規范中的 UTF-8 編碼格式進行編碼 * UTF-8編碼:一個英文字符等于一個字節,一個中文(含繁體)等于三個字節。中文標點占三個字節,英文標點占一個字節。 * Unicode編碼:一個英文等于兩個字節,一個中文(含繁體)等于兩個字節。中文標點占兩個字節,英文標點占兩個字節。 > ### byte and rune * 一個rune類型的值在底層其實就是一個 UTF-8 編碼值 ~~~ package main import "fmt" func main() { //type byte = uint8 不帶符號8位 //type rune = int32 帶符號32位 str := "Hello! 一二三" strlist1 := []byte(str) strlist2 := []rune(str) //go中的字符串底層默認是[ ]byte形式存儲的 fmt.Println(len(str)) //UTF-8編碼:一個中文字符等于三個字節,顯然一個uint8無法存儲三個字節 fmt.Println(strlist1) fmt.Printf("byte:%s---%d---%b\n", string(strlist1), len(strlist1), strlist1) fmt.Println(strlist2) fmt.Printf("rune:%s---%d---%b\n", string(strlist2), len(strlist2), strlist2) } ~~~ > ### 循環取值 ~~~ package main import "fmt" func main() { //type byte = uint8 不帶符號8位 //type rune = int32 帶符號32位 str := "Hello! 一二三" //出錯 for i := 0; i < len(str); i++ { fmt.Print(string(str[i])) } fmt.Println() strlist2 := []rune(str) for i := 0; i < len(strlist2); i++ { fmt.Print(string(strlist2[i])) } fmt.Println() for _, v := range str { fmt.Print(string(v)) } } ~~~ > ### 相關閱讀 * [Unicode 和 UTF-8 有什么區別?](https://www.zhihu.com/question/23374078) * [WideString 還是 AnsiString](https://blog.csdn.net/hksoobe/article/details/31248835) * Go還定義了三個依賴系統的類型,uint,int和uintptr。因為在32位系統和64位系統上用來表示這些類型的位數是不一樣的。 * 對于32位系統 * uint=uint32 * int=int32 * uintptr為32位的指針 * 對于64位系統 * uint=uint64 * int=int64 * uintptr為64位的指針
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看