Heim  >  Artikel  >  Backend-Entwicklung  >  Konvertierung der Golang-Codierung

Konvertierung der Golang-Codierung

WBOY
WBOYOriginal
2023-05-21 19:48:371237Durchsuche

Go-Sprache ist eine moderne Programmiersprache mit Effizienz, Parallelität und Portabilität. In praktischen Anwendungen ist es häufig notwendig, sich mit Konvertierungsproblemen zwischen verschiedenen Kodierungen zu befassen. In diesem Artikel wird die Kodierungskonvertierungslösung in Golang vorgestellt.

  1. Grundkenntnisse der Kodierung

In Computern werden Zeichen oft als digitale Kodierungen dargestellt, wie zum Beispiel ASCII-Code, GB2312, UTF-8 usw. Die Zeichenzuordnungsbeziehungen zwischen verschiedenen Kodierungen sind unterschiedlich, was auch zu ihren jeweiligen Mängeln und Vorteilen führt.

ASCII-Code ist eine häufig verwendete Kodierungsmethode. Er kann nur 128 Zeichen darstellen, einschließlich Groß- und Kleinbuchstaben, Zahlen und einigen Sonderzeichen, was seine Anwendung bei der Internationalisierung einschränkt. GB2312 ist eine Kodierungsmethode für chinesische Zeichen, die etwa 7.000 chinesische Zeichen darstellen kann, aber nur in China beliebt ist. Ebenso ist die UTF-8-Kodierung eine häufig verwendete Kodierungsmethode. Sie kann Zeichen weltweit darstellen, hat jedoch den Nachteil, dass bei der Verarbeitung ostasiatischer Sprachen die Anzahl der Bytes höher ist als bei GB2312 oder GB18030.

Daher ist eine Konvertierung zwischen verschiedenen Kodierungen erforderlich, um in den entsprechenden Szenarien verwendet zu werden.

  1. Codierungskonvertierung in Golang

Die Standardbibliothek von Golang bietet Codierungs- und Unicode-Pakete, die zur Behandlung von Problemen im Zusammenhang mit der Codierung bzw. im Zusammenhang mit Unicode-Codepunkten verwendet werden.

In Golang werden Zeichen als Runentypen dargestellt und Zeichenfolgen bestehen aus einer Reihe von Runentypen. Im Folgenden werden häufig verwendete Codierungskonvertierungsfunktionen und Beispiele in Golang vorgestellt.

2.1 Kodierungskonvertierungsfunktion in Golang

2.1.1 Bytes-Paket

Bytes-Paket bietet einige Funktionen zum Lesen und Schreiben von Binärdaten, von denen einige speziell zum Parsen und Serialisieren von Zeichenfolgen verwendet werden.

Funktionsnamensfunktion

func ToUpperSpecial wandelt die Zeichenfolge in Großbuchstaben um und unterstützt benutzerdefiniertes Locale.

func ToLowerSpecial wandelt die Zeichenfolge in Kleinbuchstaben um. Unterstützt benutzerdefiniertes Locale die Zeichenfolge in Großbuchstaben umwandeln

func ToLower Wandelt die Zeichenfolge in Kleinbuchstaben um

func ToTitle Wandelt die Zeichenfolge in das Titelformat um

func Title Wandelt die gesamte Zeichenfolge in das Titelformat um

func TrimSpace Entferne Zeichen und Leerzeichen am Anfang und Ende der Zeichenfolge

func Trim Entfernt die angegebenen Zeichen am Anfang und Ende der Zeichenfolge.

func TrimFunc Entfernt die angegebene Funktion am Anfang und Ende der Zeichenfolge.

func TrimLeftFunc Entfernt die angegebene Funktion auf der linken Seite der Zeichenfolge.

func TrimRightFunc Entfernen Sie die angegebene Funktion auf der rechten Seite der Zeichenfolge

func HasPrefix Bestimmt, ob die Zeichenfolge das angegebene Präfix enthält

func HasSuffix Bestimmt, ob die Zeichenfolge das angegebene Suffix enthält

func Index Gibt die Position des ersten Vorkommens der angegebenen Teilzeichenfolge zurück in der Zeichenfolge

func LastIndex Gibt das letzte Vorkommen der angegebenen Teilzeichenfolge in der Zeichenfolge zurück. Die Position der Zeichenfolge.

func IndexFunc Gibt die Position des ersten Zeichens zurück, das die angegebenen Bedingungen in der Zeichenfolge erfüllt.

func LastIndexFunc Gibt die Position von zurück das letzte Zeichen, das die angegebenen Bedingungen in der Zeichenfolge erfüllt

func IndexByte Gibt die erste Position in der Zeichenfolge zurück. Die Position, an der das angegebene Zeichen erscheint.

func LastIndexByte Gibt die Position zurück, an der das angegebene Zeichen das letzte Mal in der Zeichenfolge vorkommt.

func Count Gibt zurück, wie oft die angegebene Teilzeichenfolge in der Zeichenfolge vorkommt.

func Ersetzen Ersetzt die angegebene Teilzeichenfolge in der Zeichenfolge durch eine andere. Zeichenfolge.

func entsprechend dem angegebenen Trennzeichen

func SplitN Teilen Sie die Zeichenfolge gemäß dem angegebenen Trennzeichen in Slices auf, bis zu N-mal aufteilen

func SplitAfter Teilen Sie die Zeichenfolge gemäß dem angegebenen Suffix in Slices auf, das Suffix ist in jeder Teilzeichenfolge enthalten

func SplitAfterN Teilen Sie die Zeichenfolge gemäß dem angegebenen Suffix in Slices auf. Das Suffix ist in jeder Teilzeichenfolge enthalten und wird höchstens N-mal aufgeteilt.

func Join führt die String-Slices gemäß der angegebenen Trennung zu einer Zeichenfolge zusammen

2.1.2 Kodierungspaket

Kodierungspaket bietet eine Reihe von Funktionen zum Kodieren und Dekodieren verschiedener Zeichenkodierungsmethoden wie UTF-8, GB2312 usw.

Funktionsname Funktion

func Decode Dekodieren Sie vom angegebenen Kodierungsbyte-Slice in ein Runen-Slice im UTF-8-Format.

func DecodeRune Dekodieren Sie vom angegebenen Kodierungsbyte-Slice in eine einzelne Rune.

func DecodeLastRune Dekodieren Sie vom angegebenen Kodierungsbyte Dekodiere die letzte Rune im Slice

func Encode Konvertiere das Runen-Slice in ein Byte-Slice der angegebenen Kodierung

func RuneCount Berechne die Anzahl der Runen im Runen-Slice

func Runes Dekodiere das angegebene Codierungs-Byte-Slice in ein Runen-Slice

2.1.3 Unicode-Paket

Das Unicode-Paket bietet einige Funktionen, um festzustellen, ob es sich bei einem Zeichen um eine Zahl, einen Buchstaben usw. handelt.

Funktionsname Funktion

func IsDigit Bestimmt, ob das Zeichen eine Zahl ist

func IsLetter Bestimmt, ob das Zeichen ein Buchstabe ist

func IsLower Bestimmt, ob das Zeichen ein Kleinbuchstabe ist.

func IsUpper. Bestimmt, ob das Zeichen ein Großbuchstabe ist.

func IsPunct. Bestimmt, ob das Zeichen ein Satzzeichen ist 2.2 Codekonvertierungsbeispiel in Golang

Hier sind einige Kodierungskonvertierungsbeispiele in Golang:

2.2.1 UTF-8-Kodierung in GB2312

Beispiel 1: Verwenden Sie das Kodierungspaket von Golang, um zwischen UTF-8-Kodierung und GB2312-Kodierung zu konvertieren.

package main

import (
    "fmt"
    "github.com/axgle/mahonia"
)

func main() {
    str := "你好,世界!"
    enc := mahonia.NewEncoder("GB2312")
    newStr := enc.ConvertString(str)
    fmt.Println(newStr)
}

2.2.2 GB2312-Kodierung in UTF-8 konvertieren

Beispiel 2: Verwenden Sie das Kodierungspaket von Golang, um zwischen GB2312-Kodierung und UTF-8-Kodierung zu konvertieren.

package main

import (
    "fmt"
    "github.com/axgle/mahonia"
)

func main() {
    str := "你好,世界!"
    dec := mahonia.NewDecoder("GB2312")
    newStr := dec.ConvertString(str)
    fmt.Println(newStr)
}

Zusammenfassung

    In praktischen Anwendungen ist das Problem der Codierungskonvertierung ein häufiges Problem. In diesem Artikel wird die Kodierungskonvertierungslösung in Golang vorgestellt, die hauptsächlich die von den Kodierungs- und Unicode-Paketen bereitgestellten Funktionen verwendet, um eine Konvertierung zwischen verschiedenen Kodierungen zu erreichen. Durch das Erlernen dieser Inhalte sollten wir ein tieferes Verständnis und genauere praktische Fähigkeiten für die Codierung von Konvertierungsvorgängen in Golang erlangen.

Das obige ist der detaillierte Inhalt vonKonvertierung der Golang-Codierung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn