2010-04-17 44 views
7

Tôi muốn tạo một tệp đọc chuỗi mảng nhưng ban đầu tôi chỉ có mảng byte vì vậy đầu tiên tôi muốn chuyển đổi nó thành mảng chuỗi, vậy làm thế nào tôi có thể làm như vậy.Chuyển đổi một mảng chuỗi thành mảng byte

+1

Sử dụng StreamReader để đọc chuỗi từ tệp. File.ReadAllLines() là cách nhanh chóng. –

Trả lời

16

Hãy thử điều này:

Byte[] bytes = System.Text.Encoding.UTF8.GetBytes(yourString); 

Bạn có thể cần phải thay đổi điều này lên tùy thuộc vào character encoding của chuỗi của bạn - xin vui lòng xem System.Text.Encoding (cụ thể là thuộc tính của nó) để mã hóa khác được hỗ trợ bởi loại này.

Nếu bạn cần phải đi theo con đường khác (và chuyển đổi một Byte[] đến một String) sau đó làm điều này (Lời khuyên về mã hóa ký tự vẫn được áp dụng ở đây là tốt):

String yourString = System.Text.Encoding.UTF8.GetString(yourByteArray); 

Có vẻ như các API của bạn bạn đang sử dụng dự kiến ​​là String[] và cuộc gọi tới GetString sẽ chỉ cung cấp cho bạn một phiên bản String, không phải là mảng. Có lẽ một cái gì đó như thế này sẽ hoạt động cho cuộc gọi API của bạn:

String yourString = System.Text.Encoding.UTF8.GetString(yourByteArray); 
someType.ApiCall(new[] { yourString }); 
Các vấn đề liên quan