나는이 검색을 위해 stackoverflow를 검색 및 검색했지만 필요한 것을 찾지 못했습니다.부호없는 문자 배열로 float vector를 다시 해석하십시오.
나는 부호없는 문자 배열을 매개 변수로 사용하여 Base64로 인코딩하는 루틴을 가지고 있습니다. Base64에서 STL float vector (벡터)를 인코딩하고 싶습니다. 따라서 float 벡터의 바이트를 부호없는 루틴으로 전달하기 위해 부호없는 문자의 배열로 재 해석해야합니다. 재 해석과 정적 캐스팅, mem 복사본 등 여러 가지를 시도했지만, 그 중 아무 것도 작동하지 않는 것 같습니다 (최소한 내가 구현 한 방식이 아닙니다).
마찬가지로 인코딩 된 데이터를 다시 플로트 배열로 디코딩 할 때 반대의 작업을해야합니다. 디코드 루틴은 디코드 된 데이터를 부호없는 char 배열로 제공 할 것이므로이 바이트 배열을 다시 해석하여 float 벡터로 다시 변환해야합니다. 어떤 도움을 크게 감상 할 수
std::string
EncodeBase64FloatVector(const vector<float>& p_vector)
{
unsigned char* sourceArray;
// SOMEHOW FILL THE sourceArray WITH THE FLOAT VECTOR DATA BITS!!
char* target;
size_t targetSize = p_vector.size() * sizeof(float);
target = new char[ targetSize ];
int result = EncodeBase64(sourceArray, floatArraySizeInUChars, target, targetSize);
string returnResult;
if(result != -1)
{
returnResult = target;
}
delete target;
delete sourceArray;
return returnResult;
}
: 여기
인코딩을하는 내 C++ 코드의 버전을 박탈입니다. 감사.레이몬드.
빅 엔디안 대 리틀 엔디안에 대한 가정을하고 있습니까? –
@ mmyers : 당연히 그는 있지만 그는 아직 깨닫지 못할 수도 있습니다. 또한 부동 소수점 형식 (IEEE, 아마도)에 대한 가정. 혼합 된 환경에서 고통이되기 때문에 유사한 컴퓨터로 전달되는 데이터에 유용하게 사용되기를 바랍니다. –
예, 지금은 같은 엔디안과 fp 형식을 가정합니다. – Raymond