相关疑难解决方法(0)

如何确定文本的编码?

我收到了一些编码的文本,但我不知道使用了什么字符集.有没有办法使用Python确定文本文件的编码?如何检测文本文件的编码/代码页处理C#.

python encoding text-files

204
推荐指数
7
解决办法
20万
查看次数

如何检测文本文件的字符编码?

我尝试检测我的文件中使用了哪个字符编码.

我尝试使用此代码来获取标准编码

public static Encoding GetFileEncoding(string srcFile)
    {
      // *** Use Default of Encoding.Default (Ansi CodePage)
      Encoding enc = Encoding.Default;

      // *** Detect byte order mark if any - otherwise assume default
      byte[] buffer = new byte[5];
      FileStream file = new FileStream(srcFile, FileMode.Open);
      file.Read(buffer, 0, 5);
      file.Close();

      if (buffer[0] == 0xef && buffer[1] == 0xbb && buffer[2] == 0xbf)
        enc = Encoding.UTF8;
      else if (buffer[0] == 0xfe && buffer[1] == 0xff)
        enc = Encoding.Unicode;
      else if (buffer[0] == 0 && …
Run Code Online (Sandbox Code Playgroud)

c# encoding byte-order-mark character-encoding

73
推荐指数
4
解决办法
10万
查看次数

.NET Core不了解Windows 1252,如何修复?

这个程序在为.NET 4编译时工作正常,但在为.NET Core编译时​​也能正常工作.我理解不支持编码的错误,但不知道如何解决它.

Public Class Program
    Public Shared Function Main(ByVal args As String()) As Integer
        System.Text.Encoding.GetEncoding(1252)
    End Function
End Class
Run Code Online (Sandbox Code Playgroud)

vb.net character-encoding windows-1252 .net-core

58
推荐指数
2
解决办法
2万
查看次数

将vcards转换为Windows-1252

我正在尝试用C#编写一个程序,它将带有多个联系人的vCard(VCF)文件拆分为每个联系人的单个文件.据我所知,vCard需要保存为ANSI(1252)才能让大多数手机读取它们.

但是,如果我用打开VCF档案StreamReader,然后将其用回写StreamWriter(设置1252的编码格式),所有的特殊字符,如å,æø越来越写成?.当然ANSI(1252)会支持这些字符.我该如何解决?

编辑:这是我用来读写文件的代码片段.

private void ReadFile()
{
   StreamReader sreader = new StreamReader(sourceVCFFile);
   string fullFileContents = sreader.ReadToEnd();
}

private void WriteFile()
{
   StreamWriter swriter = new StreamWriter(sourceVCFFile, false, Encoding.GetEncoding(1252));
   swriter.Write(fullFileContents);
}
Run Code Online (Sandbox Code Playgroud)

.net c# unicode character-encoding windows-1252

6
推荐指数
1
解决办法
9506
查看次数