SORU
8 EKİM 2009, PERŞEMBE


nasıl dize ve bunun tersi bayt dizisi dönüştürmek için

Android dize bir bayt dizisi dönüştürmek için var, ama benim bayt dizisi negatif değerler içerir.

Eğer yine dize bayt dizisi dönüştürmek, alıyorum değerleri orijinal bayt dizisi değerleri farklıdır.

Ben uygun bir dönüşüm elde etmek için ne yapabilirim? Dönüştürme yapmak için kullanıyorum kodu aşağıdaki gibidir

// Code to convert byte arr to str:
byte[] by_original = {0,1,-2,3,-4,-5,6};
String str1 = new String(by_original);
System.out.println("str1 >> " str1);

// Code to convert str to byte arr:
byte[] by_new = str1.getBytes();
for(int i=0;i<by_new.length;i  ) 
System.out.println("by1[" i "] >> " str1);

Bu problemde takıldım.

CEVAP
8 EKİM 2009, PERŞEMBE


Bayt dizinizi biraz kodlama olmalı. Kodlama olamaz negatif değerler varsa ASCII. Bunu hissettiğinde, bir Dize kullanarak bayt bir dizi dönüştürebilirsiniz:

byte[] bytes = {...}
String str = new String(bytes, "UTF-8"); // for UTF-8 encoding

, Sun javadocs Karakter sınıfı kullanım arayabilirsiniz kodlamaları bir grup var.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • GavinMichaelBooth

    GavinMichael

    26 AĞUSTOS 2006
  • H3Ctic (old channel)

    H3Ctic (old

    23 Mart 2011
  • TheDailyTechDose

    TheDailyTech

    15 EKİM 2012