Metinsel bilgiyi byte türündeki dizi aktarma

Başlatan rree, 20 Şubat 2013, 14:21:24

rree

Public Sub StringToArray(ByRef Marray As Byte(), ByVal Mstring As String)
        Dim i As Integer
        Dim uzunluk As Integer
        uzunluk = Mstring.Length
        For i = 0 To (uzunluk - 1)
            Marray(i) = Asc(Mid(Mstring, (i + 1), 1))
        Next

Ben yukarıdaki gibi prosodür oluştudum daha kısa yolu varmıdır?

Burak B

#1
Google: C# string to byte[]. Bakınız.
static byte[] GetBytes(string str)
{
    byte[] bytes = new byte[str.Length * sizeof(char)];
    System.Buffer.BlockCopy(str.ToCharArray(), 0, bytes, 0, bytes.Length);
    return bytes;
}

static string GetString(byte[] bytes)
{
    char[] chars = new char[bytes.Length / sizeof(char)];
    System.Buffer.BlockCopy(bytes, 0, chars, 0, bytes.Length);
    return new string(chars);
}


Ayrıca VB.NET için.
Bakınız.

Ancak ben genelde ASCIIEncoding.GetBytes(string); kullanıyorum.
"... a healthy dose of paranoia leads to better systems." Jack Ganssle

rree

Public Adizi(400) As byte
Public AStr As String

private Sub deneme()
  AStr="Merhaba"
  StringToArray(Adizi,Astr) 
End Sub
   Ben deki prosudürü yukarıda olduğu gibi kullanıyorum.
Sizin verdiğiniz örneği nasıl kullanabiliriz.

private Sub deneme()
  AStr="Merhaba"
     Adizi=GetBytes (Astr)  'Bu şekilde anlamsız olur sanırım nasıl ifade edilmeli
End Sub


Burak B

#3
Public  Dim bytes() As Byte

private Sub deneme()
     bytes=ASCIIEncoding.GetBytes ("Merhaba Dünya") 
End Sub


Bknz; MSDN Örneği.
"... a healthy dose of paranoia leads to better systems." Jack Ganssle