gpt4 book ai didi

c# - C# 中的阿拉伯文表示形式 B 支持

转载 作者:太空狗 更新时间:2023-10-29 22:55:29 25 4
gpt4 key购买 nike

我试图使用 C# 中的编码 API将文件从 utf-8 转换为 Arabic-1265 编码,但我遇到了一个奇怪的问题,即某些字符未正确转换,例如“لا ”在下面的语句“ﻣﺣﻣد ﺻﻼ ح عادل”中,它显示为“ﻣﺣﻣد ﺻ? ح عادل”。我的一些 friend 告诉我,这是因为这些字符来自 Arabic Presentation Forms B。我使用 notepad++ 创建文件并将其保存为 utf-8。

这是我使用的代码

    StreamReader sr = new StreamReader(@"C:\utf-8.txt", Encoding.UTF8);
string str = sr.ReadLine();
StreamWriter sw = new StreamWriter(@"C:\windows-1256.txt", false, Encoding.GetEncoding("windows-1256"));
sw.Write(str);
sw.Flush();
sw.Close();

但是,我不知道如何在 C# 中使用此表示形式正确转换文件。

最佳答案

是的,您的字符串包含许多无法在 1256 代码页中表示的连字。您必须在写入之前分解字符串。像这样:

  str = str.Normalize(NormalizationForm.FormKD);
st.Write(str);

关于c# - C# 中的阿拉伯文表示形式 B 支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3758233/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com