안녕하세요

지금 개발중인 어플이 C로 작성된 서버에서 byte array의 데이타를 받아서 형변환하는 작업을 하고 있는데

제대로 형변환이 되질 않아서 이렇게 질문드립니다.


int64형이나 long형의 데이타를 C서버에서 byte배열로 넘겨주는 것은 

아래와 같은 함수를 만들어서 long형으로 변환을 하니까 제대로 변환이 되었는데...


/**

 * byte [] ==> long 형변환 함수

 * http://dptablo.tistory.com/entry/Byte-Array-Int-Byte-Array-Long-%EB%B3%80%ED%99%98

 * http://stackoverflow.com/questions/1026761/how-to-convert-a-byte-array-to-its-numeric-value-java

 */

public static long ByteArrayToLong(byte[] bytes) {

   long va lue = 0;

   for (int i = 0; i < bytes.length; i++)

   {

      value += ((long) bytes[i] & 0xffL) << (8 * i);

   }

   return value;

}


double형의 데이타를 변환할려고 하니까 잘 변환이 안되네요..

구글링해보니깐.. ByteBuffer 사용하라고 해서 


public static double ByteArrayToDouble(byte[] bytes) {

   ByteBuffer bb = ByteBuffer.wrap(bytes);

   return bb.getDouble();

}


이렇게 만들어서 해봤는데 잘 안되네요..

혹시 C로 만든 서버에서 데이타를 받아서 해보신 분들 계신가요?