당신은 와이어에 의미하는 경우 - 다음 첫째 :
0x0a = "field 1, length prefixed" (strings are always length prefixed)
{number of bytes as UTF8, varint-encoded}
{that many bytes of UTF8}
: 그것은 단순히 (반복 요소마다)로 구현되는이 경우에 그것에 대해 걱정 시리얼의 일이지만, 그래서 3 개의 아이템이 반복된다면 3 개의 0x0a, varint, 페이로드가 차례로 쌓이게됩니다. 정수 등의 원시적 인 형태의 경우, 전체 배열의 바이트 길이를 우선하여 요소마다의 헤더의 필요성을 없애는 「팩 된」인코딩이 있습니다. 처음에는, 배열 내용은 raw 이외 -tokenized 데이터.
당신은 호출자의 관점에서 을 의미하는 경우 : 그것은 아래로 구현하지만, 본질적으로 기대해야 할 몇 가지 익숙한 API - 그 프레임 워크에 공통. 이는 repeated
데이터가 배열/벡터로 표시되거나 Add
등의 API가있는 "컬렉션"클래스를 의미 할 수 있습니다. 그것은 목표 프레임 워크와 구현하는 저자의 기발한 것에 대해 합리적인 것에 전적으로 의존 할 것이다.
"어떻게 유선으로 구성되어 있습니까?" - 또는 "내 앱에서 어떻게 이걸 사용합니까?" - 그들은 매우 다른 질문입니다. –
내 말은, "이것은 어떻게 유선으로 구성되어 있습니까?" –
인코딩 사양을 사용할 수 있습니다. "protobuf 인코딩"만 검색하면되지만 솔직히 말해서 라이브러리 구현 자만이 관심있어합니다. 기존의 도서관을 방금 사용하고 있다면, 도서관이 그 점을 염려해야합니다. –