常见的编码格式包括 UTF-8、ASCII、ISO-8859-1、GBK转换方法

常见的编码格式包括 UTF-8、ASCII、ISO-8859-1、GBK转换方法

  • [Python 示例](#Python 示例)
  • [Ruby 示例](#Ruby 示例)
  • [Java 示例](#Java 示例)
  • [Go 示例](#Go 示例)

Python 示例

python 复制代码
def convert_encoding(input_str, from_encoding, to_encoding):
    return input_str.encode(from_encoding).decode(to_encoding)

# 使用示例
converted_str = convert_encoding("你好,世界!", "utf-8", "gbk")
print(converted_str)

Ruby 示例

ruby 复制代码
def convert_encoding(input_str, from_encoding, to_encoding)
    input_str.encode(to_encoding, from_encoding)
end

# 使用示例
converted_str = convert_encoding("你好,世界!", "UTF-8", "GBK")
puts converted_str

Java 示例

java 复制代码
public class EncodingConverter {
    public static String convertEncoding(String inputStr, String fromEncoding, String toEncoding) throws UnsupportedEncodingException {
        return new String(inputStr.getBytes(fromEncoding), toEncoding);
    }

    public static void main(String[] args) {
        try {
            String convertedStr = convertEncoding("你好,世界!", "UTF-8", "GBK");
            System.out.println(convertedStr);
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
    }
}

Go 示例

go 复制代码
package main

import (
    "fmt"
    "golang.org/x/text/encoding/simplifiedchinese"
    "golang.org/x/text/transform"
    "io/ioutil"
    "strings"
)

func convertEncoding(inputStr, fromEncoding, toEncoding string) (string, error) {
    var reader *strings.Reader
    if fromEncoding == "UTF-8" && toEncoding == "GBK" {
        reader = strings.NewReader(inputStr)
        transformer := transform.NewReader(reader, simplifiedchinese.GBK.NewEncoder())
        result, err := ioutil.ReadAll(transformer)
        if err != nil {
            return "", err
        }
        return string(result), nil
    }
    // 可以添加更多编码转换逻辑
    return inputStr, nil
}

func main() {
    convertedStr, err := convertEncoding("你好,世界!", "UTF-8", "GBK")
    if err != nil {
        fmt.Println("编码转换错误:", err)
        return
    }
    fmt.Println(convertedStr)
}
相关推荐
像我这样帅的人丶你还1 小时前
Java 后端详解(五):Redis 缓存
java·后端·全栈
小九九的爸爸2 小时前
前端想要入门Agent开发,要具备哪些Python基础?
python·agent·ai编程
阿耶同学3 小时前
手把手教你用 LangGraph 搭建三层嵌套 Agent 架构
python·程序员
知恒3 小时前
Go语言接口与多态
go
知恒3 小时前
Go语言变量与数据类型
go
知恒3 小时前
Go包管理与模块化
go
plainGeekDev4 小时前
GreenDAO → Room
android·java·kotlin
HokKeung4 小时前
飞书 lark-cli 如何存储 tenant_access_token 和 user_access_token
人工智能·go
止语Lab7 小时前
sync.Pool 的真正分界线不是对象大小——一次 benchmark 翻车记录
go
HokKeung7 小时前
Go 里的 IO 应该怎么管理
go