کتابخانه‌ی استاندارد · کدگذاری و داده

مسج‌پک encoding/msgpack

قالب دودویی و فشرده‌ی MessagePack برای مقدارهای پویا.

واردسازی کدگذاری.مسج‌پک
در این صفحه
  1. گونه‌ها
  2. روال‌ها

MessagePack همان داده‌ی جیسون را به شکل دودویی و کوتاه‌تر نگه می‌دارد و خواندنش سریع‌تر است؛ برای ارسال داده بین سرویس‌ها یا ذخیره در حافظه‌ی نهان مناسب است. این بسته یک مقدار را به بافر بایت تبدیل می‌کند و برعکس.

گونه‌ها

گزینه‌های مسج‌پک MsgpackOptions

ساختار گزینه‌های مسج‌پک
گزینه‌های سریال‌سازی.
نامانگلیسیگونهتوضیح
use_str8use_str8منطقی = درستبرای رشته‌های کوتاه از قالب str8 استفاده شود؛ پیش‌فرض درست. پیاده‌سازی‌های خیلی قدیمی این قالب را نمی‌شناسند.
encoding-msgpack-Marshal.salam
واردسازی کدگذاری.مسج‌پک
واردسازی کدگذاری.مقدار
واردسازی کدگذاری.خطای کدگذاری
واردسازی کدگذاری
واردسازی فشرده سازی

روال ریشه:
    ناپایا م := مقدار.شیء جدید()
    مقدار.تنظیم کلید(م، "id"، مقدار.مقدار صحیح(۷))
    مقدار.تنظیم کلید(م، "ok"، مقدار.مقدار منطقی(درست))
    ب := مسج‌پک.سریال سازی(م)
    سرچاپ فشرده سازی.طول بافر(ب)، فشرده سازی.بافر به پایه۶۴(ب)
    ناپایا خ := خطای کدگذاری.بدون خطا()
    ب۲ := مسج‌پک.واسریال سازی(ب، خ)
    سرچاپ خطای کدگذاری.خطا است(خ)، مقدار.یکسان است(م، ب۲)، مقدار.به صحیح(مقدار.مقدار کلید(ب۲، "id"))
    ب۳ := مسج‌پک.واسریال سازی بایت‌ها(ب.data، ب.len، خ)
    سرچاپ مقدار.یکسان است(م، ب۳)
    گ := مسج‌پک.گزینه‌های مسج‌پک {}
    سرچاپ فشرده سازی.طول بافر(مسج‌پک.سریال سازی سفارشی(م، گ))
    سرچاپ کدگذاری.کدگذاری شانزده(فشرده سازی.بافر به رشته(مسج‌پک.سریال سازی(مقدار.مقدار صحیح(۵))))
پایان
خروجی9 gqJpZAeib2vD false true 7 true 9 05

روال‌ها

سریال سازی سفارشی MarshalWith

روال سریال سازی سفارشی(v: value.Value، opts: گزینه‌های مسج‌پک): compress.ByteBuf
مقدار را با گزینه‌های داده‌شده به بایت‌های مسج‌پک تبدیل می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-msgpack-Marshal.salam

سریال سازی Marshal

روال سریال سازی(v: value.Value): compress.ByteBuf
مقدار را به بایت‌های مسج‌پک تبدیل می‌کند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-msgpack-Marshal.salam

واسریال سازی بایت‌ها UnmarshalBytes

روال واسریال سازی بایت‌ها(p: تهی*، n: صحیح، err &: encerr.EncodingError): value.Value
n بایت مسج‌پک را از حافظه می‌خواند.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-msgpack-Marshal.salam

واسریال سازی Unmarshal

روال واسریال سازی(b: compress.ByteBuf، err &: encerr.EncodingError): value.Value
بافر مسج‌پک را به مقدار تبدیل می‌کند؛ اگر داده نادرست باشد، err پر می‌شود.

نمونه‌ی این مورد همراه با موارد بالاتر آمده است: encoding-msgpack-Marshal.salam