- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在编写一个从 NADRA (http://www.nadra.gov.pk/index.php?option=com_content&view=article&id=6&Itemid=9) 发布的 NIC 读取条形码的应用程序。 NADRA 向巴基斯坦公民颁发 CNIC。我想读取这些印在 CNIC 上的条码。 NADRA 对姓名、父亲姓名、地址、出生日期等信息进行了编码,但这些信息存储在乌尔都语中。我成功阅读了这些条形码,但问题是,我无法将它们的字符集转换为乌尔都语。我安装了乌尔都语字体,比如 Noori Nistalique、Aswad 等等,但这些字符集只是显示了一堆字符,而不是有意义的信息。当我用简单的英语解码这些条形码时,它显示的数字信息是正确的,但不显示乌尔都语中的信息。
有没有人尝试过读取这些条码并成功解码?请帮助我,或指导我我必须做什么......?
这是我阅读的样本,这是简单的英语:
A0U1200708091232 13501722 T31 2602 -E'/
آڑم٠٢٨٧٨٧٠١٨٠ء١٢٠٠٧٠٨٠٩١٢٣٢ ١٣٥٠١٧٢٢ ٹ٣١ص ٢٦٠٢ -فؓف ؐف-فڈف┴ف ،ف٩ف┴ف ١ف-فؐف"ففف
最佳答案
NADRA 做了一个技巧,NADRA 实际上是使用最后两个字符形成一个单词的十六进制值,例如如果 \u0622
是 Alif(假设)然后 NADRA 只使用最后两个字符进行编码,22
所以这只是诀窍。我附上了一些将十六进制转换为乌尔都语的代码,读取条形码数据,将其转换为十六进制字符串,然后将此字符串传递给此函数,您将获得乌尔都语中的所有信息,只需将此字符串放在一些支持乌尔都语或阿拉伯语的 View 中(Android)、组件 (Java) 或者如果您使用的是 C#,则将其放入标签中。
public class ConvertToUrdu {
public static String convertToUrdu(String text)
{
StringBuilder sb = new StringBuilder();
String[] characters = text.split(",");
for(String character : characters)
{
//if (ListDigits.Contains(ch))
//{
// continue;
//}
switch (character)
{
case "20":
sb.append(" ");
break;
case "22":
sb.append("\u0622");
break;
case "27":
sb.append("\u0627");
break;
case "13":
sb.append("\u0613");
break;
case "28":
sb.append("\u0628");
break;
case "2B":
sb.append("\u062b");
break;
case "86":
sb.append("\u0686");
break;
case "88":
sb.append("\u0688");
break;
case "2F":
sb.append("\u062f");
break;
case "10":
sb.append("\u0610");
break;
case "39":
sb.append("\u0639");
break;
case "41":
sb.append("\u0641");
break;
case "3A":
sb.append("\u063a");
break;
case "AF":
sb.append("\u06af");
break;
case "2D":
sb.append("\u062d");
break;
case "BE":
sb.append("\u06be");
break;
case "CC":
sb.append("\u06cc");
break;
case "36":
sb.append("\u0636");
break;
case "2C":
sb.append("\u062c");
break;
case "2E":
sb.append("\u062e");
break;
case "43":
sb.append("\u0643");
break;
case "12":
sb.append("\u0612");
break;
case "44":
sb.append("\u0644");
break;
case "45":
sb.append("\u0645");
break;
case "BA":
sb.append("\u06ba");
break;
case "46":
sb.append("\u0646");
break;
case "29":
sb.append("\u0629");
break;
case "A9":
sb.append("\u06a9");
break;
case "C1":
sb.append("\u06c1");
break;
//case "45":
// sb.Append("\u0645");
// break;
case "7E":
sb.append("\u067e");
break;
case "42":
sb.append("\u0642");
break;
case "91":
sb.append("\u0691");
break;
case "31":
sb.append("\u0631");
break;
case "35":
sb.append("\u0635");
break;
case "33":
sb.append("\u0633");
break;
case "79":
sb.append("\u0679");
break;
case "2A":
sb.append("\u062a");
break;
case "21":
sb.append("\u0621");
break;
case "38":
sb.append("\u0638");
break;
case "37":
sb.append("\u0637");
break;
//case "48":
// sb.Append("\\u0635\u0644\u0649\u0020\u0627\u0644\u0644\u0647\u0020\u0639\u0644\u064a\u0647\u0020\u0648\u0633\u0644\u0645");
// break;
case "48":
sb.append("\u0648");
break;
case "98":
sb.append("\u0698");
break;
case "34":
sb.append("\u0634");
break;
case "D2":
sb.append("\u06d2");
break;
case "30":
sb.append("\u0630");
break;
case "32":
sb.append("\u0632");
break;
case "60":
sb.append("\u0660");
break;
case "61":
sb.append("\u0661");
break;
case "62":
sb.append("\u0662");
break;
case "63":
sb.append("\u0663");
break;
case "64":
sb.append("\u0664");
break;
case "65":
sb.append("\u0665");
break;
case "66":
sb.append("\u0666");
break;
case "67":
sb.append("\u0667");
break;
case "68":
sb.append("\u0668");
break;
case "69":
sb.append("\u0669");
break;
case "0C":
sb.append(" \u200c");
break;
case "D4":
sb.append("\u06d4");
break;
//case "0C":
// sb.Append("\u060c");
// break;
case "1F":
sb.append("\u061f");
break;
case "02":
sb.append("\u0602");
break;
case "1B":
sb.append("\u061b");
break;
case "7b":
sb.append("\u007b");
break;
case "7D":
sb.append("\u007d");
break;
//default:
// sb.Append(ch);
// break;
}
}
return sb.toString();
}
}
A0U1200708091232
->
A0,U1,20,07,08,09,12,32
.只是为了调试,所以这个函数实际上将第二个字符串转换为乌尔都语。
private string convertToHex(string text)
{
StringBuilder sb = new StringBuilder();
foreach (char c in text)
{
if (c == '\n')
{
sb.Append('\n');
sb.Append(',');
}
else
{
sb.Append(String.Format("{0:X}", (int)c));
sb.Append(',');
//sb.Append((int)c + " ");
}
}
return sb.ToString();
}
String hex = String.format("%04x", (int) c);
来转换
关于barcode - 如何读取 NADRA NIC 上的条形码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13472824/
我有一个正在动态生成的条形码,并希望传递给 gsp,该 gsp 稍后将变成 pdf。我不需要出于自己的任何目的保留条形码,只想将图像从 Controller 传递到 gsp。 有没有办法渲染作为变量传
我正在研究苹果“passkit”框架。我已经制作了 lolipop 优惠券,正如它在 guide 中所说的那样. - 创建证书(Apple Dev 网站)我已经编译了.pkpass。 现在我必须使用动
我有这样的代码 $('.testbarcode').barcode('1234567', "code128"); 当我设置样式时它是折线,那么我如何才能将此条码的宽度设置得
我正在将 Visual Basic 应用程序转换为 Python Django。目前,它具有条形码功能来处理商店的销售。这可以用 python django 实现吗? 最佳答案 如果您对条形码功能的定
我正在尝试按照此示例使用条形码 API https://github.com/googlesamples/android-vision/tree/master/visionSamples/barcod
这是我到目前为止所得到的: def encodeFive(zip): zero = "||:::" one = ":::||" two = "::|:|" t
我正在尝试创建具有本文所示格式的条形码:http://www.thebookdesigner.com/2009/10/self-publishing-basics-deciphering-the-bo
我需要一些关于如何从 bmp 文件中获取 12 位条形码的指导,我完全不知道如何处理这个问题。我首先将图像读入 bitmam,我该如何继续? 例子:下图的条码是081034489030。我如何获得这些
谁能告诉我从哪里开始编码以便从 C# 中的 OPOS(Datalogic Magellan 设备)加权和条形码扫描中获取数据?例如,在这种情况下我应该使用什么库和什么函数。我一无所知,因为我已经花了很
使用 zxing,我设法将 Code39 条形码保存为 PNG,但它只显示条形,没有数字。我怎样才能在一个 PNG 中包含条形码和编号? KI 最佳答案 您无法使用 zxing 添加号码。您可以做一些
我正在尝试将扫描的条形码用作 SQL 查询中的变量。我正在使用 Google ML Kit Quick Start项目。我有一个使用 jtds1.3.1 制作的连接和查询功能。我只是无法获得要在查询中
我尝试让程序从下面的代码中读取 EAN13,但它不起作用 func metadataOutput(_ output: AVCaptureMetadataOutput, didOutput metada
我必须读取 PDF 文件中的数据矩阵代码,我正在研究其可能性,对此我有一些疑问: 1.- 我与 Itext 合作,我正在寻找有关使用此库读取此 QR 条形码的可能性的信息,但我没有相关结果,这可能吗?
文档和头文件不包含任何与支持 3D 条形码相关的信息。但是,明确提到 AVMetadataMachineReadableCodeObject 支持一维和二维条码。因此,有人知道 AVFoundatio
我一直在寻找解决方案,到目前为止,我认为对我的项目来说最好的解决方案是使用免费的 Code 39 字体。但是,我已经尝试打印一些样本,但我的条形码扫描仪无法读取它们。 我进行了更多研究,偶然发现了 t
生成 3 of 9 很容易条形码使用 Font() Font f = new Font("Free 3 of 9", 80); this.Font = f; Label l = new Label()
愚蠢的我,我以为只要用条形码字体写一些文本,就会让扫描仪读取它。看来我错了。 所以在阅读了一些关于 code128 条形码的文档之后,我了解到: 条形码以(103、104 或 105 取决于类型)开头
我想在 WPF 应用程序中区分(条形码)扫描仪和键盘输入。 我需要的是每当我的扫描仪提供数据时发生的事件。 在我的应用程序中有一个特殊的字段,它将填充来自扫描仪的输入。因此,如果用户关注其他领域,我不
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,因为
是否可以将 ZPL 和二进制数据用于 aztec 条形码? 我尝试使用BluetoothConnection写入发送以UTF8和字节数据编码的字符串连接数组/ String zplStart; byt
我是一名优秀的程序员,十分优秀!