gpt4 book ai didi

C# 在 txt 文件的开头写入一个零宽度的不间断空格

转载 作者:太空宇宙 更新时间:2023-11-03 18:43:03 25 4
gpt4 key购买 nike

我有一个使用 ascii 编码用 C# 编写的文本文件,当我尝试使用 java 项目读取该文件时,我得到一个 ZERO WIDTH NO-BREAK SPACE文件开头的字符。有没有人遇到过这种情况?

private static void SavePrivateKey(object key)
{
if (logger.IsInfoEnabled) logger.Info("SavePrivateKey - Begin");
string privatekey = (string)key;
string strDirName = Utility.RCTaskDirectory;
string strFileName = "PrivateKey.PPK";
string strKeyPathandName = Path.Combine(strDirName, strFileName);

//if (File.Exists(strKeyPathandName))
//{
// File.Create(strKeyPathandName);
//}

if (!string.IsNullOrEmpty(privatekey))
{//Save private key file
if (!Directory.Exists(strDirName))
Directory.CreateDirectory(strDirName);

FileStream fileStream = new FileStream(strKeyPathandName, FileMode.OpenOrCreate);
//TODO: Save File as ASCII
using (StreamWriter sw = new StreamWriter(fileStream, Encoding.ASCII))
{

if (logger.IsDebugEnabled) logger.DebugFormat("Saving the private key to {0}.", strKeyPathandName);
sw.Write(privatekey);

sw.Close();
if (logger.IsDebugEnabled) logger.DebugFormat("Saved private key to {0}.", strKeyPathandName);
}
}
if (logger.IsInfoEnabled) logger.Info("SavePrivateKey() - End");
}

最佳答案

似乎文本是用 BOM 编写的,这通常在您编写 Unicode 文件时完成...这个特定字符是 UTF16 文件的 BOM,因此您的 C# 中一定有一些东西将此文件写为 UTF16.. .

参见 http://de.wikipedia.org/wiki/Byte_Order_Mark

关于C# 在 txt 文件的开头写入一个零宽度的不间断空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7016279/

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