package main
import (
"fmt"
)
functextToBinaryLatin1(text string) []byte {
result := make([]byte, len(text))
for i, char := range text {
if char <= 255 {
result[i] = byte(char)
} else {
result[i] = '?'// 对于超出 Latin-1 范围的字符,使用问号或其他合适的替代字符
}
}
return result
}
funcbinaryToTextLatin1(binaryData []byte)string {
returnstring(binaryData)
}
funcmain() {
// 要表示为二进制数据流的文本
textData := "In UTF-8, a Chinese character is usually represented by three bytes. UTF-8 is a variable-length character encoding that can use between one and four bytes to represent different characters."
fmt.Println("Original Text:", textData)
// 将文本编码为 ISO-8859-1(Latin-1)的二进制数据流
binaryData := textToBinaryLatin1(textData)
// 打印二进制数据流
fmt.Printf("Binary Data: %8b\n", binaryData)
// 将 ISO-8859-1(Latin-1)的二进制数据流还原为文本
decodedText := binaryToTextLatin1(binaryData)
// 打印还原后的文本
fmt.Println("Decoded Text:", decodedText)
}