Go基礎之國際化字元 rune

2021-08-26 08:44:49 字數 1044 閱讀 8562

unicode,utf-8,utf-16完整的說明請參考wiki(unicode,utf-8,utf-16)。用比較簡單的話來說就是,unicode定義了所有可以用來表示字元的數值集合(稱之為code point)。utf-8和utf-16等utf標準定義了這些數值和字元的對映關係。

在utf8編碼中,英文本元占用乙個位元組;絕大多數漢字占用三個位元組,個別漢字占用四個位元組。

package main

import (

"fmt"

"unicode/utf8"

)func main()

fmt.println()

for i, ch := range s

fmt.println()

fmt.println(utf8.runecountinstring(s)) //結果:9 想獲得乙個string(包含漢字)的長度 可以用 utf8.runecountinstring(s)

bytes := byte(s)

for len(bytes)>0

fmt.println()

//實際中,往往是想獲得string中每個字元的索引和內容 可以將string轉為rune

for i, ch := range rune(s)

}

直接用range 遍歷乙個帶有漢字的string,得到的索引是 每個漢字開頭位元組的索引,以及漢字的unicode編碼

可以先將string轉為[]rune 再進行遍歷,這樣可以獲得漢字的索引及漢字

對string 使用len(s) 獲得的是string的位元組長度; 而可以對string使用utf8.runecountinstring(s)獲得string中的rune長度

"strings"包: 

​​​​​​​fields, split, join

contains, index

tolower, toupper

trim, trimright, trimleft

Qt之國際化

qt國際化屬於qt高階中的一部分,本想著放到後面來說,上節剛好介紹了qt linguist,趁熱打鐵就一起了解下。對於絕大多數的應用程式,在剛啟動時,需要載入預設的語言 或最後一次設定的語言 在使用的過程中,我們也不需要重啟應用程式而實現語言的動態切換。這樣的話,易用性就非常好了。要進行多語言的切換...

Android之國際化

國際化 1.記得我在 我的第乙個android 程式,基於intent 的元件互動機制 在分析r 檔案和文章最後,有透露過這種機制的原理和好處。很大程度上,為什麼我們能如此方便的實現國際化 解析度匹配等?主要就是得益於android 中這種獨特的資源管理方式。程式設計師的 可以不直接和資源發生關係。...

struts2學習之 國際化

struts2的國際化按如下步驟進行 1.讓系統載入國際化資源檔案 2.輸出國際化 1.檢視頁面的國際化 在jsp頁面中指定國際化資源需要借助struts2的另乙個標籤 如果把標籤作為標籤的父標籤,則會直接載入標籤裡指定的國際化資源檔案 如果把標籤當成表單標籤的父標籤,則表單標籤的key屬性將會從國...