1. 程式人生 > >python與go字串編碼

python與go字串編碼

python中字串(str)是Unicode編碼的,所以中文和英文字母都佔兩個位元組(一個位元組的話,最大為256)。英文字母數值與Ascii保持一致。

a="啦"
print("Unicode編碼為:",ord(a))
print("英文字母%s編碼為:%d"%("b",ord("b")))
b=a.encode(encoding="utf-8")
print(type(b))
print(list(b))


輸出:
Unicode編碼為: 21862
英文字母b編碼為:98
<class 'bytes'>
[229, 149, 166]

go語言字串則是utf-8的編碼,英文佔一個位元組,其他的佔1-4個。中文佔3個。

package main

import "fmt"

func main() {
	a := "啦b"
	fmt.Printf("字串的長度為%d\n", len(a))
	for i := 0; i < len(a); i++ {
		fmt.Println(a[i])
	}
}

輸出為:
字串的長度為4
229
149
166
98