簡體   English   中英

如何在 Linux 上將 Windows-1251(ISO-88-59-5) 字符串轉換為 UTF-8 字符串?

[英]How to convert Windows-1251(ISO-88-59-5) string to UTF-8 string on Linux?

我有一個通用字符串,其編碼為 ISO-88-59-5,我想將此字符串轉換為 UTF-8 格式,順便說一下,我有 C# 上的代碼示例,它運行良好。 我需要在 C++ 上做同樣的事情

result = mainString.Substring(nameStart + 3, symbols);
Encoding enc = Encoding.GetEncoding("ISO-8859-5");
byte[] bytes = enc.GetBytes(result);
                
result = Encoding.UTF8.GetString(bytes);

結果是一個帶有文本的字符串

在 Linux 上執行此操作的過程如下:

  1. 使用其手冊頁中描述的iconv_open()來創建從 windows-1251 到 UTF-8 的轉換的句柄。 我只是仔細檢查了一下,iconv 庫支持“windows-1251”。

  2. 按照其手冊頁中的說明使用iconv()

  3. 按照其手冊頁中的說明使用iconv_close()

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM