将二进制数据从字节数组转换为字符串然后返回golang是否安全?

Maybe a stupid question, but if I have some arbitrary binary data, can I cast it to string and back to byte array without corrupting it?

Is []byte(string(byte_array)) always the same as byte_array?

The expression []byte(string(byte_slice)) evaluates to a slice with the same length and contents as byte_slice. The capacity of the two slices may be different.

Although some language features assume that strings contain valid UTF-8 encoded text, a string can contain arbitrary bytes.