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库开发解析二维码,不能解析一开始为中文的。的主要内容,如果未能解决你的问题,请参考以下文章