daily update on 20240419 by nitload youmu, SSD merged into main stream

This commit is contained in:
YoumuLiu
2024-04-20 02:36:36 +08:00
parent efeb4ba058
commit 7b67eb2f4d
81 changed files with 4568 additions and 33 deletions
+80
View File
@@ -0,0 +1,80 @@
using StgSharp.Data;
using StgSharp.Data.FileIO;
using StgSharpData;
using System;
using System.Collections;
using System.Collections.Concurrent;
using System.Runtime.InteropServices;
using System.Text;
namespace StgSharpDataEncoder
{
internal class Program
{
static unsafe void Main(string[] args)
{
string test =
"aaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbsddfdsfsdfdsfsdfsdfsdfsdfsdfdsfsdfdsfsdfsdfsdfsdfsfsdfsdfccccccccccccccccccccccccc";
byte[] array = CodeSeparator.SeparateCode<byte>(
Encoding.UTF8.GetBytes(test));
List<(byte, ulong)> list = CodeSeparator.CountCodeFrequency(array);
foreach (var i in list)
{
Console.WriteLine($"{i.Item1}\t{i.Item2}");
}
Console.WriteLine();
Console.WriteLine();
HuffmanTree<byte> tree = HuffmanTree<byte>.BuildHuffmanTree(list);
foreach (var i in tree.LeafList)
{
Console.WriteLine($"{i.Value}\t{i.frequency}\t" +
$"{(i.Left == null ? 0 : i.Left.frequency)}\t" +
$"{(i.Right == null ? 0 : i.Right.frequency)}");
}
Console.WriteLine();
Console.WriteLine();
Dictionary<byte, HuffmanKey<byte>> encodeDictionary
= tree.BuildHuffmanDictionary();
Console.WriteLine();
Console.WriteLine();
foreach (var item in encodeDictionary)
{
Console.WriteLine(
$"{item.Key}\t" +
$"{item.Value}"
);
}
Encode.Freeze(encodeDictionary);
EncodeStream encodeStream = new EncodeStream();
foreach (var item in array)
{
var bits = encodeDictionary[item];
encodeStream.WriteBits(bits);
}
Console.WriteLine();
Console.WriteLine();
foreach (var item in encodeStream.EncodeData)
{
Console.Write($"{item}\t");
}
Console.WriteLine();
Console.WriteLine();
Console.WriteLine($"{array.Length}\t{encodeStream.Length}");
SSDraw testRaw = new SSDraw("test");
testRaw.WriteRaw(encodeStream.EncodeData.ToArray());
testRaw.CreateRawFile("",true);
}
}
}
@@ -0,0 +1,15 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<AllowUnsafeBlocks>True</AllowUnsafeBlocks>
</PropertyGroup>
<ItemGroup>
<ProjectReference Include="..\StgSharpData\StgSharpData.csproj" />
</ItemGroup>
</Project>
@@ -0,0 +1,4 @@
// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETCoreApp,Version=v8.0", FrameworkDisplayName = ".NET 8.0")]
@@ -0,0 +1,23 @@
//------------------------------------------------------------------------------
// <auto-generated>
// 此代码由工具生成。
// 运行时版本:4.0.30319.42000
//
// 对此文件的更改可能会导致不正确的行为,并且如果
// 重新生成代码,这些更改将会丢失。
// </auto-generated>
//------------------------------------------------------------------------------
using System;
using System.Reflection;
[assembly: System.Reflection.AssemblyCompanyAttribute("StgSharpDataEncoder")]
[assembly: System.Reflection.AssemblyConfigurationAttribute("Debug")]
[assembly: System.Reflection.AssemblyFileVersionAttribute("1.0.0.0")]
[assembly: System.Reflection.AssemblyInformationalVersionAttribute("1.0.0+efeb4ba05892154579515936d827ba856937ec40")]
[assembly: System.Reflection.AssemblyProductAttribute("StgSharpDataEncoder")]
[assembly: System.Reflection.AssemblyTitleAttribute("StgSharpDataEncoder")]
[assembly: System.Reflection.AssemblyVersionAttribute("1.0.0.0")]
// 由 MSBuild WriteCodeFragment 类生成。
@@ -0,0 +1,8 @@
// <auto-generated/>
global using global::System;
global using global::System.Collections.Generic;
global using global::System.IO;
global using global::System.Linq;
global using global::System.Net.Http;
global using global::System.Threading;
global using global::System.Threading.Tasks;
@@ -0,0 +1,38 @@
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\bin\Debug\net8.0\StgSharpDataEncoder.exe
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\bin\Debug\net8.0\StgSharpDataEncoder.deps.json
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\bin\Debug\net8.0\StgSharpDataEncoder.runtimeconfig.json
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\bin\Debug\net8.0\StgSharpDataEncoder.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\bin\Debug\net8.0\StgSharpDataEncoder.pdb
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\bin\Debug\net8.0\StgSharpData.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\bin\Debug\net8.0\StgSharpData.pdb
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.csproj.AssemblyReference.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.GeneratedMSBuildEditorConfig.editorconfig
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.AssemblyInfoInputs.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.AssemblyInfo.cs
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.csproj.CoreCompileInputs.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.sourcelink.json
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\StgSharp.F2927A3D.Up2Date
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\refint\StgSharpDataEncoder.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.pdb
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.genruntimeconfig.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\StgSharpDataEncoder\obj\Debug\net8.0\ref\StgSharpDataEncoder.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\bin\Debug\net8.0\StgSharpDataEncoder.exe
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\bin\Debug\net8.0\StgSharpDataEncoder.deps.json
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\bin\Debug\net8.0\StgSharpDataEncoder.runtimeconfig.json
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\bin\Debug\net8.0\StgSharpDataEncoder.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\bin\Debug\net8.0\StgSharpDataEncoder.pdb
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\bin\Debug\net8.0\StgSharpData.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\bin\Debug\net8.0\StgSharpData.pdb
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.csproj.AssemblyReference.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.GeneratedMSBuildEditorConfig.editorconfig
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.AssemblyInfoInputs.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.AssemblyInfo.cs
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.csproj.CoreCompileInputs.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.sourcelink.json
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\obj\Debug\net8.0\StgSharp.F2927A3D.Up2Date
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\obj\Debug\net8.0\refint\StgSharpDataEncoder.dll
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.pdb
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\obj\Debug\net8.0\StgSharpDataEncoder.genruntimeconfig.cache
D:\NitloadIndustry\研究项目\1-Flagship\TH2020\ProjectFile\编码器\StgSharpDataEncoder\obj\Debug\net8.0\ref\StgSharpDataEncoder.dll