C#用ThoughtWorks.QRCode.dll库开发解析二维码,不能解析一开始为中文的。

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#用ThoughtWorks.QRCode.dll库开发解析二维码,不能解析一开始为中文的。相关的知识,希望对你有一定的参考价值。

在QRCodeUtility文件当中IsUnicode当中 判断是ascii还是unicode,有的时候判断不出来。public static bool IsUnicode(byte[] byteData)

//string value1 = FromASCIIByteArray(byteData);
//string value2 = FromUnicodeByteArray(byteData);
//byte[] ascii = AsciiStringToByteArray(value1);
//byte[] unicode = UnicodeStringToByteArray(value2);
//if (ascii[0] != unicode[0])
// return true;
//return false;
bool isUnicode = false;
foreach (byte value in byteData)

if (value > 128)

isUnicode = true;
break;



return isUnicode;//返回是不是Unicode编码

其中注释掉的是原本的代码。
因为ascii编码当中的最大为127,这样判断后,就能正确的判断是不是unicode,这样就能正确的解码中文了.
参考技术A 你找到isUnicode那一个方法,把里面的unicode代码页换成Encoding.Default。在vs2005中那个default就是GBK编码了。顺便把其他关联函数都换掉,就可以了。大概要换六七个地方,你沿着函数找一找就可以找到。
我现在已经可以中英文混搭了。
参考技术B 这个不支持中文的,想支持的话 先base64吧,或者找一个支持的 ,Gma.QrCodeNet.Encoding.dll 似乎这个支持追问

什么叫base64啊?
而且Gma.QrCodeNet.Encoding.dll只用到了encode,没有decode啊

追答

base64 编码方式 网上一搜一堆 ,你还是自己搜一下 学习下 ,编码后 没有中文字符了 你就可以用之前的那个dll 多费一点事而已

用 C# 启动服务

【中文标题】用 C# 启动服务【英文标题】:Start Service with C # 【发布时间】:2011-10-21 14:44:48 【问题描述】:

我正在尝试使,但出现以下错误:

ServiceController service = new ServiceController(sServiceName);
service.MachineName = localComputerName;
service.Start();
service.WaitForStatus(ServiceControllerStatus.Running);

System.InvalidOperationException:无法在计算机上打开服务 System.ComponentModel.Win32Exception:访问被拒绝 System.ServiceProcess.ServiceController.GetServiceHandle(Int32 requiredAccess) 在 System.ServiceProcess.ServiceController.Stop()

【问题讨论】:

【参考方案1】:

寻找您的权限。请问您需要从管理员帐户运行您的应用程序(或 Visual Studio)。

【讨论】:

【参考方案2】:

您的Access is denied 错误向我表明,您的进程/应用程序正在运行的身份没有启动和停止服务的权限。

【讨论】:

那怎么设置权限呢?【参考方案3】:

您是否已将异常文本变红?您根本没有启动服务器的权限。阅读:http://msdn.microsoft.com/en-us/library/h846e9b3.aspx(特别是http://msdn.microsoft.com/en-us/library/system.serviceprocess.servicecontrollerpermission.aspx)或以管理员身份启动应用程序

【讨论】:

【参考方案4】:

在启动服务时,您可能需要查看 this question 以获得有关权限的一些帮助。

【讨论】:

以上是关于C#用ThoughtWorks.QRCode.dll库开发解析二维码,不能解析一开始为中文的。的主要内容,如果未能解决你的问题,请参考以下文章

用 C# 编写驱动程序

用 C 语言实现内核,用 C# 实现 Shell

c#中winform是用啥语言编写?

用 C# 启动服务

用 C# 解析 XML?

如何从 c++ 项目中调用用 c# 创建的 dll 文件? [复制]