@@ -285,15 +285,41 @@ class GoTranslator(out: StringLanguageOutputWriter, provider: TypeProvider, impo
285285 val IMPORT_CHARMAP = " golang.org/x/text/encoding/charmap"
286286
287287 val ENCODINGS = Map (
288- " IBM437" -> (" charmap.CodePage437" , IMPORT_CHARMAP ),
289- " ISO-8859-1" -> (" charmap.ISO8859_1" , IMPORT_CHARMAP ),
290- " ISO-8859-2" -> (" charmap.ISO8859_2" , IMPORT_CHARMAP ),
291- " ISO-8859-3" -> (" charmap.ISO8859_3" , IMPORT_CHARMAP ),
292- " ISO-8859-4" -> (" charmap.ISO8859_4" , IMPORT_CHARMAP ),
293- " SJIS" -> (" japanese.ShiftJIS" , " golang.org/x/text/encoding/japanese" ),
294- " BIG5" -> (" traditionalchinese.Big5" , " golang.org/x/text/encoding/traditionalchinese" ),
288+ " UTF-16BE" -> (" unicode.UTF16(unicode.BigEndian, unicode.IgnoreBOM)" , " golang.org/x/text/encoding/unicode" ),
295289 " UTF-16LE" -> (" unicode.UTF16(unicode.LittleEndian, unicode.IgnoreBOM)" , " golang.org/x/text/encoding/unicode" ),
296- " UTF-16BE" -> (" unicode.UTF16(unicode.BigEndian, unicode.IgnoreBOM)" , " golang.org/x/text/encoding/unicode" )
290+ " UTF-32BE" -> (" utf32.UTF32(utf32.BigEndian, utf32.IgnoreBOM)" , " golang.org/x/text/encoding/unicode/utf32" ),
291+ " UTF-32LE" -> (" utf32.UTF32(utf32.LittleEndian, utf32.IgnoreBOM)" , " golang.org/x/text/encoding/unicode/utf32" ),
292+ " ISO-8859-1" -> (" charmap.ISO8859_1" , IMPORT_CHARMAP ),
293+ " ISO-8859-2" -> (" charmap.ISO8859_2" , IMPORT_CHARMAP ),
294+ " ISO-8859-3" -> (" charmap.ISO8859_3" , IMPORT_CHARMAP ),
295+ " ISO-8859-4" -> (" charmap.ISO8859_4" , IMPORT_CHARMAP ),
296+ " ISO-8859-5" -> (" charmap.ISO8859_5" , IMPORT_CHARMAP ),
297+ " ISO-8859-6" -> (" charmap.ISO8859_6" , IMPORT_CHARMAP ),
298+ " ISO-8859-7" -> (" charmap.ISO8859_7" , IMPORT_CHARMAP ),
299+ " ISO-8859-8" -> (" charmap.ISO8859_8" , IMPORT_CHARMAP ),
300+ " ISO-8859-9" -> (" charmap.ISO8859_9" , IMPORT_CHARMAP ),
301+ " ISO-8859-10" -> (" charmap.ISO8859_10" , IMPORT_CHARMAP ),
302+ // The same note as in https://github.com/kaitai-io/kaitai_struct_cpp_stl_runtime/blob/07ff9cf91e8bdf3515c0efdda0a879c0021b5edb/kaitai/kaitaistream.cpp#L918-L922
303+ // applies here
304+ " ISO-8859-11" -> (" charmap.Windows874" , IMPORT_CHARMAP ),
305+ " ISO-8859-13" -> (" charmap.ISO8859_13" , IMPORT_CHARMAP ),
306+ " ISO-8859-14" -> (" charmap.ISO8859_14" , IMPORT_CHARMAP ),
307+ " ISO-8859-15" -> (" charmap.ISO8859_15" , IMPORT_CHARMAP ),
308+ " ISO-8859-16" -> (" charmap.ISO8859_16" , IMPORT_CHARMAP ),
309+ " windows-1250" -> (" charmap.Windows1250" , IMPORT_CHARMAP ),
310+ " windows-1251" -> (" charmap.Windows1251" , IMPORT_CHARMAP ),
311+ " windows-1252" -> (" charmap.Windows1252" , IMPORT_CHARMAP ),
312+ " windows-1253" -> (" charmap.Windows1253" , IMPORT_CHARMAP ),
313+ " windows-1254" -> (" charmap.Windows1254" , IMPORT_CHARMAP ),
314+ " windows-1255" -> (" charmap.Windows1255" , IMPORT_CHARMAP ),
315+ " windows-1256" -> (" charmap.Windows1256" , IMPORT_CHARMAP ),
316+ " windows-1257" -> (" charmap.Windows1257" , IMPORT_CHARMAP ),
317+ " windows-1258" -> (" charmap.Windows1258" , IMPORT_CHARMAP ),
318+ " IBM437" -> (" charmap.CodePage437" , IMPORT_CHARMAP ),
319+ " IBM866" -> (" charmap.CodePage866" , IMPORT_CHARMAP ),
320+ " Shift_JIS" -> (" japanese.ShiftJIS" , " golang.org/x/text/encoding/japanese" ),
321+ " Big5" -> (" traditionalchinese.Big5" , " golang.org/x/text/encoding/traditionalchinese" ),
322+ " EUC-KR" -> (" korean.EUCKR" , " golang.org/x/text/encoding/korean" ),
297323 )
298324
299325 override def bytesToStr (value : Ast .expr, encoding : String ): TranslatorResult =
0 commit comments