Ho problemi durante la lettura di un file che ha un formato di lunghezza di colonna fissa. Alcune colonne potrebbero contenere dieresi.Umlauts e slice
I dieresi sembrano utilizzare 2 byte invece di uno. Questo non è il comportamento che mi aspettavo. Esiste qualche tipo di funzione che restituisce una sottostringa? Slice non sembra funzionare in questo caso.
Ecco alcuni esempi di codice:
http://play.golang.org/p/ZJ1axy7UXe
umlautsString := "Rhön"
fmt.Println(len(umlautsString))
fmt.Println(umlautsString[0:4])
Stampe:
5
Rhö
Grazie per questa risposta. Non mi rendevo conto che era possibile convertire in '[] rune' - questo mi permetterà di ripulire parte del mio codice recente. –
"I caratteri UTF-8 sono codificati come rune" non ha alcun senso. Potresti chiarirlo, riscriverlo o cancellarlo? – rightfold
@rightfold Sei maleducato. Ha senso per almeno altre 9 persone, quindi eliminare la risposta è fuori questione. Avresti potuto chiedere gentilmente un chiarimento, ma in questo caso sembra che tu fossi troppo pigro per seguire uno dei link di nemo, che spiegano entrambi in dettaglio cosa sia una runa. – fresskoma