字符集、编码与安全:Go语言中的相关处理
1. 字符集与编码处理
在数据处理中,字节序的判断和处理是一个重要环节。以下代码展示了如何根据前两个字节判断数据是大端序还是小端序,并进行相应的解码:
// *warning* our server only supports big-endian
if buf[0] == 0xff && buf[1] == 0xfe {
for i := 2; i < n; i += 2 {
shorts[i/2] = uint16(buf[i])<<8 + uint16(buf[i+1])
}
} else if buf[0] == 0xfe && buf[1] == 0xff {
for i := 2; i < n; i += 2 {
shorts[i/2] = uint16(buf[i+1])<<8 + uint16(buf[i])
}
} else {
// unknown byte order
fmt.Println("Unknown order")
}
return shorts
运行服务器和客户端时,可在不同终端执行以下命令:
ch6$ go run utf16server.go
ch6$ go run utf16client.go localhost:1210
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



