2010-12-06 3 views
0

레일 3에서 비트 맵 이미지 데이터를 JSON 형식으로 서버에 게시하고 싶습니다. 다음 단계를 수행합니다.

1. 클라이언트에서 비트 맵 이미지를 문자열로 변환합니다.
2. 문자열을 JSON 형식으로 인코딩하고 서버에 게시하십시오.
3. JSON 형식의 비트 맵 이미지 데이터를 디코딩합니다.

이제 문제는 다음과 같습니다.
비트 맵 이미지에서 JSON 형식으로 인코딩 한 후 0 바이트 또는 기타 읽을 수없는 바이트가 많습니다. 0 바이트는/u0000으로 변환되고, 스페이스 바이트는/u000a로 변환됩니다.

    JSON 문자열 "\ u0066, 서버 측에서
, 나는 JSON 문자열을 디코딩 ActiveResource :: 형식 : JsonFormat.decode를 사용하지만, 예를 들어,/u0000의 사항을 충족 할 때 방법이 중지됩니다 \ u0000 \ u0066 \ u0066 "은"ff "로 디코드되고 나머지 세 바이트는 자동으로 삭제됩니다.

이 문제를 해결하는 방법? JSON 문자열을 직접 디코딩하는 함수를 작성해야합니까?Rails 3에서 JSON 형식으로 이미지 데이터를 디코딩하는 방법은 무엇입니까?

답변

3

실제로 멀티 파트 양식에서이 데이터를 바이너리로 게시해야합니다.

문자열로 인코딩해야하는 경우 use base64.

+1

그러나 base64 버전이 훨씬 더 크고 인코딩, 전송 및 디코딩에 더 많은 CPU 시간이 필요하다고 예상하십시오. –

관련 문제