常见的编码格式包括 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)
}
相关推荐
DeepVisionary5 小时前
谷歌 Gemini Omni 1.1 Flash 正式发布:4K 视频、40 秒场景延伸,视频生成进入按 token 计费时代
python·自动化
阡之尘埃6 小时前
Python数据分析案例85——大模型微调全流程(SFT的LoRA微调)
人工智能·python·深度学习·语言模型·llm·微调·千问
海兰6 小时前
【应用】基于 Next.js 16 + Python mplfinance的金融K线图与技术指标可视化平台(三)
javascript·python·金融
EXI-小洲6 小时前
Java 操作 Word:字符串替换、图片插入、动态生成表格与API接口下载
java·开发语言·spring boot·word
cvcode_study6 小时前
Ollama+ComfyUI 多模态
大数据·人工智能·python
2601_961901707 小时前
SpringBoot使用Nacos进行application.yml配置管理
java·spring boot·spring
星核0penstarry7 小时前
试一试用gr.Workflow把AI多步骤串联变成可视化画布
人工智能·python·ai作画·api·ai编程·工作流·api聚合平台
taller_20008 小时前
【005】PiE 与传统 VBA 的核心区别
python·vba·pie·py
何以解忧,唯有..8 小时前
LangChain 工具调用(Tool Calling)实战指南
java·前端·langchain
海兰8 小时前
【应用】基于 Next.js 16 + Python mplfinance的金融K线图与技术指标可视化平台(一)
javascript·python·金融