Go 将字符串转换为ascii字节数组

Go 将字符串转换为ascii字节数组,go,byte,ascii,Go,Byte,Ascii,如何将字符串编码为ASCII字节数组?如果您正在寻找转换,只需执行byteArray:=[]字节(myString) 语言规范详细说明了字符串和某些类型数组之间的转换(字节对字节,int代表Unicode点)您可能不需要做任何事情。如果只需要读取字符串的字节,可以直接执行以下操作: c := s[3] cthom06的答案为您提供了一个可以操作的字节片: b := []byte(s) b[3] = c 然后,如果愿意,可以从修改的字节片创建新字符串: s = string(b) 但是你提到

如何将字符串编码为ASCII字节数组?

如果您正在寻找转换,只需执行
byteArray:=[]字节(myString)


语言规范详细说明了字符串和某些类型数组之间的转换(字节对字节,int代表Unicode点)

您可能不需要做任何事情。如果只需要读取字符串的字节,可以直接执行以下操作:

c := s[3]
cthom06的答案为您提供了一个可以操作的字节片:

b := []byte(s)
b[3] = c
然后,如果愿意,可以从修改的字节片创建新字符串:

s = string(b)

但是你提到了ASCII。如果字符串以ASCII开头,那么就完成了。如果它包含其他内容,则您需要处理更多内容,可能需要发布另一个问题,并提供有关数据的更多详细信息。

我认为cthom06意识到了这一点,但严格来说,这不是“ASCII”字节数组。它更像一个UTF-8字节数组。如果字符串包含非ASCII字符,则这些字符的字节也将在此处。如果你想让你的代码与不同的语言配合得很好,那你应该时刻牢记在心。@Chickencha确实如此。我给出了一个又快又脏的回答。但是我确实提到了[]int转换以更好地处理unicode。从Go版本1开始,您应该使用内置的符文数据类型进行unicode处理。语言规范详细说明了字符串和某些类型数组之间的转换(字节对字节,int对unicode点)。=>编码/解码是UTF8。大于127的ASCII字符呢?该解决方案返回一个2字节字符,但ASCII仅为一个字节。比如170字?