2010-07-30 31 views

Trả lời

108

Nếu bạn đang tìm kiếm một chuyển đổi, chỉ cần làm byteArray := []byte(myString)

Các chi tiết bằng ngôn ngữ đặc tả chuyển đổi giữa các chuỗi và một số loại mảng (byte cho byte, int cho điểm Unicode)

+0

Cảm ơn, điều đó thật dễ dàng :) –

+14

Tôi nghĩ cthom06 nhận ra điều này, nhưng đây không phải là, nói đúng, một mảng byte "ASCII". Nó giống như một mảng byte UTF-8. Nếu chuỗi chứa các ký tự không phải ASCII, thì các byte cho các ký tự đó cũng sẽ ở đây. Nếu bạn muốn mã của mình hoạt động tốt với các ngôn ngữ khác nhau, đó là điều bạn nên luôn ghi nhớ. –

+1

@Chickencha đó là sự thật. Tôi đã trả lời nhanh chóng và bẩn thỉu. Nhưng tôi đã đề cập đến việc chuyển đổi int] để xử lý unicode tốt hơn – cthom06

8

Bạn có thể không cần để làm bất cứ điều gì. Nếu bạn chỉ cần phải đọc byte của một chuỗi, bạn có thể làm điều đó trực tiếp: Câu trả lời

c := s[3] 

cthom06 của mang đến cho bạn một lát byte bạn có thể thao tác:

b := []byte(s) 
b[3] = c 

Sau đó, bạn có thể tạo một chuỗi mới từ slice đã sửa đổi nếu bạn thích:

s = string(b) 

Nhưng bạn đã đề cập ASCII. Nếu chuỗi của bạn là ASCII để bắt đầu, thì bạn đã hoàn thành. Nếu nó có chứa một cái gì đó khác, bạn có nhiều hơn để đối phó với và có thể muốn gửi một câu hỏi khác với các chi tiết hơn về dữ liệu của bạn.

Các vấn đề liên quan