Implement IProfile Get and GetBase (#266)
* implement IProfile Get(Base) * use default user * changed userid
This commit is contained in:
parent
4f499b6845
commit
17f54b5d78
8 changed files with 154 additions and 13 deletions
52
Ryujinx.HLE/OsHle/Utilities/StringUtils.cs
Normal file
52
Ryujinx.HLE/OsHle/Utilities/StringUtils.cs
Normal file
|
@ -0,0 +1,52 @@
|
|||
using System;
|
||||
using System.Globalization;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
|
||||
namespace Ryujinx.HLE.OsHle.Utilities
|
||||
{
|
||||
static class StringUtils
|
||||
{
|
||||
public static byte[] GetFixedLengthBytes(string InputString, int Size, Encoding Encoding)
|
||||
{
|
||||
InputString = InputString + "\0";
|
||||
|
||||
int ByteCount = Encoding.GetByteCount(InputString);
|
||||
|
||||
byte[] Output = new byte[Size];
|
||||
|
||||
if (ByteCount < Size)
|
||||
{
|
||||
Encoding.GetBytes(InputString, 0, InputString.Length, Output, Size - ByteCount);
|
||||
}
|
||||
else
|
||||
{
|
||||
int NullSize = Encoding.GetByteCount("\0");
|
||||
|
||||
Output = Encoding.GetBytes(InputString);
|
||||
|
||||
Array.Resize(ref Output, Size - NullSize);
|
||||
|
||||
Output = Output.Concat(Encoding.GetBytes("\0")).ToArray();
|
||||
}
|
||||
|
||||
return Output;
|
||||
}
|
||||
|
||||
public static byte[] HexToBytes(string HexString)
|
||||
{
|
||||
//Ignore last charactor if HexLength % 2 != 0
|
||||
int BytesInHex = HexString.Length / 2;
|
||||
|
||||
byte[] Output = new byte[BytesInHex];
|
||||
|
||||
for (int Index = 0; Index < BytesInHex; Index++)
|
||||
{
|
||||
Output[Index] = byte.Parse(HexString.Substring(Index * 2, 2),
|
||||
NumberStyles.HexNumber);
|
||||
}
|
||||
|
||||
return Output;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue