Dize bayt dizisi dönüştürmek için en iyi yolu nedir?
[100]byte
string
bir sürü veri transferi için okumak istiyorum.
Tüm string
100 uzun hassas olduğu için, byte array
kalan bölümü 0
s ile doldurulur.
Ben ** string
*8 * transfer işlemleri: * 10*, 0
s ^@^@
s olarak görüntülenir dava dosyasının.
C string
0
kusursuz string
15 *transfer en iyi yolu ne olduğunu merak ediyorum bu kadar talep hakkına sahip olacak.
CEVAP
bayt dilimler halinde veri okuma yöntemleri okunan bayt sayısı döner. Bu numarayı kaydedin ve sonra Dize oluşturmak için kullanın. n
bayt sayısını okunan, kodunuzu bu gibi görünecektir:
s := string(byteArray[:n])
Eğer bazı nedenlerden dolayı n
bayt paket bulmak için kullanabilirsiniz, yok eğer doğru değilse, lütfen giriş varsayarak boş bir karakter yok.
n := bytes.Index(byteArray, []byte{0})
Ya icza belirttiği üzere, aşağıdaki kodu kullanabilirsiniz:
n := bytes.IndexByte(byteArray, 0)
Nasıl Java hex bir dize bir bayt dizis...
CamelCase (hiçbir sözcük ayırıcı) tümü...
nasıl dize ve bunun tersi bayt dizisi ...
Nasıl bir bayt dizisi için bir dize dö...
Bir kodlama kullanmadan bayt dizisi iç...