"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية تحويل سلاسل UTF-8 إلى [] بايت لـ JSON Unmarshalling في Go؟

كيفية تحويل سلاسل UTF-8 إلى [] بايت لـ JSON Unmarshalling في Go؟

تم النشر بتاريخ 2024-11-08
تصفح:577

How to Convert UTF-8 Strings to []byte for JSON Unmarshalling in Go?

إلغاء تنظيم سلاسل UTF-8 إلى [] بايت

عند العمل مع JSON، تتطلب وظيفة إلغاء التنظيم إدخالاً من النوع [] بايت. ومع ذلك، يمكن تخزين بياناتنا كسلسلة UTF-8. تستكشف هذه المقالة كيفية تحويل سلسلة UTF-8 إلى [] بايت لإلغاء التنظيم بنجاح.

التحويل باستخدام [] بايت (s)

وفقًا لمواصفات Go ، يمكن تحويل السلسلة إلى []بايت باستخدام عملية تحويل بسيطة:

s := "some text"
b := []byte(s)
ومع ذلك، يؤدي هذا التحويل إلى إنشاء نسخة من محتوى السلسلة، والتي يمكن أن تكون غير فعالة للسلاسل الكبيرة.

استخدام io.Reader لتحقيق الكفاءة Unmarshal

الطريقة البديلة هي استخدام io.Reader الذي تم إنشاؤه من السلسلة:

s := `{"somekey":"somevalue"}`
reader := strings.NewReader(s)
decoder := json.NewDecoder(reader)
var result interface{}
decoder.Decode(&result)
تتجنب هذه الطريقة نسخ السلسلة وتكون أكثر كفاءة للمدخلات الكبيرة.

اعتبارات للسيناريوهات المختلفة

    بالنسبة لنصوص JSON الصغيرة، يعد التحويل مباشرة إلى []بايت باستخدام []بايت(s) أمرًا مقبولًا.
  • بالنسبة لنصوص JSON الكبيرة أو عند العمل مع io.Readers، فإن استخدام strings.NewReader وjson.NewDecoder يوفر أفضل الكفاءة.
باختصار، تحويل سلاسل UTF-8 إلى [] بايت لإلغاء التنظيم يتضمن إما الإرسال المباشر أو استخدام io.Reader للتعامل بكفاءة مع المدخلات الكبيرة. يعتمد الاختيار على المتطلبات المحددة للتطبيق.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3