常见的编码格式包括 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)
}
相关推荐
a努力。5 分钟前
LangChain Agent消息链路全解析
java·前端·javascript
SL_staff11 分钟前
物模型是设备的数字身份证:属性、事件、服务如何决定IoT系统扩展性
java·物联网·全栈
程序员yu13 分钟前
会编网络:别被入门教程骗了,Python实用能力不在语法本身
开发语言·python·学习·算法
鬼手点金17 分钟前
opencode组件详解-安装方式
人工智能·python·优化器·分析器·nanogpt
资深技术分享员19 分钟前
Geejing WebBuilder 日志、在线用户、系统监控,出问题时的三个第一现场
java·运维·数据库
卓怡学长22 分钟前
w202springboot基于B_S架构的图书信息管理系统
java·spring boot·spring·intellij-idea
Bruce_Liuxiaowei27 分钟前
Python 字典默认值完全指南:从 KeyError 到 defaultdict
开发语言·数据结构·python·字典
走到天涯海角30 分钟前
用springBoot写几个简单的接口
java·spring boot·intellij-idea
数据杂坛33 分钟前
【Python程序开发系列】一文搞清楚Gunicorn以及和Nginx的区别
python·nginx·gunicorn
zjh90053038 分钟前
Visual C++ 2010 安装使用完整包:高手秘籍
python