Issue title: win10微软拼音适用性问题
 Issue body: **问题描述：**
使用本软件转换自定义的码表为win10微软拼音用户自定义短语时，对于中文字符，它的效果很好；
而对于非中文字符，即使关闭词条过滤，转换效果也并不理想——它会将希腊字符、拼音等转化为毫不相干的中文字符。
你们的项目对.dat文件头、词频（在这里是顺序）、拼音编码所做的工作非常出色，问题仅出现在对短语（用户想输出的词）的编码上。

**一些建议：**
我对本项目的源代码进行了研究（实际上我并不掌握C#，我只是懂一点Java），问题似乎出现在下面的语句中。


`var py = wl.GetPinYinString("", BuildType.None);
bw.Write(Encoding.Unicode.GetBytes(py));
bw.Write(BitConverter.GetBytes((short) 0));
bw.Write(Encoding.Unicode.GetBytes(wl.Word));`


限于时间，我没能对此上述代码进行深入研究，但下面的信息或许对你们有所帮助。
在win10微软拼音程序正常导出的用户自定义短语的.dat文件中，它对短语的编码过程大概是这样的：

1. 对于短语`s`，先把`s`存储为字符串；
2. 将`s`转化为不大于4位数的16进制整型的Unicode值`uhex`，字母全部用大写；
3.【关键一步】：若`uhex`不足4位，则在`uhex`左侧填充若干个数字0，直到`uhex`变为4位数；
4. 此时`uhex`的形式为形如`abcd`的4位16进制数，将其对调为`cdab`即为字符`s`在.dat文件中的16进制编码。
如：拼音`á`的字符串对应的16进制整形Unicode值为`E1`，其在.dat文件中的正确编码为`00E1`。


 Comments: 
 Comment 0: 实际上你说的编码不就是 utf-16le? 另外关于转换问题最好提供一个测试词库并说明预期结果。
 Comment 1: 详细信息已经包含在邮箱附件中，请阅读压缩包内的PDF说明文档，压缩包内还包含了相关的测试文件。




------------------&nbsp;Original&nbsp;------------------
From:                                                                                                                        "studyzy/imewlconverter"                                                                                    ***@***.***&gt;;
Date:&nbsp;Thu, Jun 30, 2022 06:55 PM
***@***.***&gt;;
***@***.******@***.***&gt;;
Subject:&nbsp;Re: [studyzy/imewlconverter] win10微软拼音适用性问题 (Issue #220)





 
实际上你说的编码不就是 utf-16le? 另外关于转换问题最好提供一个测试词库并说明预期结果。
 
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you authored the thread.Message ID: ***@***.***&gt;
 Comment 2: > 

你是只给作者本人发的？，他不常在线，最好公开出来，大家一起讨论。
 Comment 3: > 

好的，文件如下
[imewlconverter Issue #220 附件.zip](https://github.com/studyzy/imewlconverter/files/9020941/imewlconverter.Issue.220.zip)

 Comment 4: 看了一下是编码格式自动检测出错了，手动转为utf-16le再转换就没问题了。
`src\ImeWlConverterCore\Helpers\FileOperationHelper.cs` 288行
 Comment 5: > 看了一下是编码格式自动检测出错了，手动转为utf-16le再转换就没问题了。 `src\ImeWlConverterCore\Helpers\FileOperationHelper.cs` 288行

324行，最终问题就是如何区分 utf-8 和 gb18030。这里的实现有待改进。
 Comment 6: > > 看了一下是编码格式自动检测出错了，手动转为utf-16le再转换就没问题了。 `src\ImeWlConverterCore\Helpers\FileOperationHelper.cs` 288行
> 
> 324行，最终问题就是如何区分 utf-8 和 gb18030。这里的实现有待改进。

1. 主流编辑器很少有判断编码这样的逻辑，建议给出转换后的预览窗口，由用户根据预览来判断是否符合其本意并决定是否切换为其他编码。
2. 或者增加一种导入原始数据的方法：从剪贴板粘贴到文本区。

希望以上的建议对你们有用
{'source': 'GithubIssues', 'repo_name_with_owner': 'studyzy/imewlconverter', 'issue_id': 1270625209, 'repo_stars': 5389.0}