كيفية تحويل شريحة بايت ([]byte) إلى سلسلة نصية في Go؟
مرحباً بالجميع! لقد بدأت للتو في تعلم Go وواجهت مشكلة أثناء العمل مع التجزئة SHA-1. لدي دالة تحسب تجزئة SHA-1 لسلسلة نصية وتعيدها كشريحة بايت ([]byte). أحتاج إلى عرض هذه التجزئة على الشاشة، لكن دالة fmt.Println تعرض رموزاً غير مفهومة بدلاً من سلسلة نصية قابلة للقراءة.
هذا هو الكود الخاص بي:
```go
package main
import (
"crypto/sha1"
"fmt"
)
func main() {
data := []byte("Hello, Go!")
hash := sha1.Sum(data)
fmt.Println(hash) // يعرض شيئاً مثل [191 142 67 219...]
}
```
حاولت استخدام string(hash)، لكن هذا أيضاً لم يعطِ النتيجة المتوقعة — بل عرض مجموعة رموز أغرب. كيف يمكن تحويل شريحة البايت إلى سلسلة نصية بشكل صحيح؟ هل أحتاج إلى استخدام دوال خاصة من حزمة encoding؟ سأكون ممتناً لشرح مفصل، لأنني تشوشت في التوثيق.