I am decoding from base64 and then decrypting text. But it's giving non- printable ASCII. How to get printable text after decrypting? My Python code runs well but not the go code. How can I convert it to readable text?
func decryptKey(Key string) (map[string]string, error) { key := "ABC" decodeStr, err := base64.StdEncoding.DecodeString(Key) if err != nil { fmt.Println("Error decoding:", err) //return nil } // Create a decoder for ISO-8859-1 (Charmap) dec := charmap.ISO8859_1.NewDecoder() decodeBytes, err := dec.Bytes(decodeStr) if err != nil { fmt.Println("Error decoding to ISO-8859-1:", err) //return nil } result := "" keyLen := len(key) for i, char := range decodeBytes { keyChar := key[i%keyLen] decodedChar := char - byte(keyChar) if decodedChar < 0 { decodedChar = byte(int(decodedChar) + 256) } result += string(decodedChar) } fmt.Println("result.........................",result.strings()) // Split the result by "|" and create a map of fields extractedFields := make(map[string]string) keyParts := strings.Split(result, "|") for _, part := range keyParts { keyValue := strings.SplitN(part, ":-", 2) if len(keyValue) == 2 { field := strings.TrimSpace(keyValue[0]) value, err := strconv.Unquote(`"` + strings.TrimSpace(keyValue[1]) + `"`) if err != nil { fmt.Println("Error converting value:", err) } extractedFields[field] = value } } return extractedFields,nil}