c# - SVN 使用什么文件编码?
问题描述
我们在 svn 中归档,我们使用 web 服务以字节格式提取这些文件。
我正试图让我们从 S3 存储桶中获取这些文件。
当我们从 svn 中提取文件时,它以字节形式出现,我们稍后使用 LZ4 解码。像这样:
Encoding.UTF8.GetString(LZHelper.ReadFromLZ4Stream(bytes returned by svn))
但是,我们存储桶的文件只是上传而没有压缩或任何东西。我提取了字节并尝试对它们进行编码,以便它们与 svn 版本匹配。我认为它将是 UTF8,因为这是上面使用的解码,但它似乎不匹配。
在这个函数中,没有一个压缩字节数组与 svn 回复匹配。
public byte[] GetFile(string pstrPath)
{
AmazonS3Client s3Client = new AmazonS3Client("blah", "blah blah", Amazon.RegionEndpoint.whoknows);
GetObjectRequest gRequest = new GetObjectRequest();
gRequest.BucketName = "test";
gRequest.Key = "the file path and name";
string contents;
GetObjectResponse gresponse = s3Client.GetObjectAsync(gRequest).Result;
byte[] compressedBytes;
using (MemoryStream memoryStream = new MemoryStream())
{
gresponse.ResponseStream.CopyTo(memoryStream);
compressedBytes = memoryStream.ToArray();
}
byte[] compressedBytes1 = LZ4Codec.Wrap(Encoding.Default.GetBytes(contents));
byte[] compressedBytes2 = LZ4Codec.Wrap(Encoding.UTF8.GetBytes(contents));
byte[] compressedBytes3 = LZ4Codec.Wrap(Encoding.UTF7.GetBytes(contents));
byte[] compressedBytes4 = LZ4Codec.Wrap(Encoding.UTF32.GetBytes(contents));
byte[] compressedBytes5 = LZ4Codec.Wrap(Encoding.BigEndianUnicode.GetBytes(contents));
byte[] compressedBytes6 = LZ4Codec.Wrap(Encoding.ASCII.GetBytes(contents));
byte[] svnres = Channel.GetFile(pstrPath);
return Channel.GetFile(pstrPath);
}
有没有办法找出这些文件使用的编码?理想情况下,我会将文件上传更改为这种编码,但除非我弄清楚 svn 使用的是什么编码,否则我不能这样做。
解决方案
推荐阅读
- splunk - Splunk企业默认密码是多少
- azure - 在 Azure 应用配置中展开全部 + 全部折叠
- python - 使用原始查询的 Django 计数
- python - 如何更改 Scipy 的 Convolve2D() 以忽略为 0 的数组值?
- vba - 将总表插入工程图 Solidworks 宏
- java - 即使有数据,套接字输入流上也没有数据
- reactjs - 如何使用 Material UI 复选框并使用 React Hook 表单的 useFieldArray 选择 onChange
- node.js - 使用 Mongoose 创建方法时,文档被两次插入 MongoDB
- python - 为什么 Nginx 在 Django Web App 上为我的 URL 添加“?next=”?
- python - 实时变量到实时动画图 - Python