简体   繁体   English

将字符串数据存储到我的JavaCard中

[英]Store a String data into my JavaCard

I need to know how to store String data in my JavaCard, any help please ? 我需要知道如何将String数据存储在JavaCard中,有什么帮助吗? PS : JavaCard does not support String type. PS:JavaCard不支持String类型。

You can represent it as byte array: 您可以将其表示为字节数组:

byte[] str = {'s', 't', 'r', 'i', 'n', 'g'};

This will use the lower 8 bits of each 16 bit code point. 这将使用每个16位代码点的低8位。 That will work fine within the ASCII range of characters, but will not generate any particular encoding for any code point above 0x7F (127 in decimals). 这在ASCII字符范围内可以正常工作,但不会为0x7F以上的任何代码点(十进制为127)生成任何特定的编码。

Java Card Three small primitive data types only (boolean, byte, short) Java Card仅三种小型原始数据类型(布尔,字节,短)
It has Optional support for integer (int) primitive data type. 它具有对整数(int)基本数据类型的可选支持。

Strings can be represented as array of characters or bytes. 字符串可以表示为字符或字节数组。
However characters are not supported(As for as I know). 但是不支持字符(据我所知)。

Hence you can represent it using array of bytes: 因此,您可以使用字节数组来表示它:

byte str[]; //creating array of byte
str = {'s' , 't' , 'a' , 'c' , 'k'}; // initializing array

My answer is same as above but with little more explanation. 我的答案与上述相同,但仅作解释。
Hope this helps. 希望这可以帮助。

Javacard is a very small subset of the Java it not support Long, double, float, and all the wrapper classes Char, String Multidimensional array Dynamic class loading. Javacard是Java的很小的子集,它不支持Long,double,float和所有包装类Char,String多维数组动态类加载。 It only support Boolean, byte, short Int. 它仅支持布尔,字节,短整数。

Starting from JavaCard API v 3.0.4, there is support for StringUtil class . 从JavaCard API v 3.0.4开始,支持StringUtil class However, it is mostly unsupported by currently (2018) freely available cards (see JCAlgTest page listing support for javacardx.framework.string v1.0) 但是,当前(2018年)免费提供的卡几乎不支持它(请参阅JCAlgTest页,列出对javacardx.framework.string v1.0的支持)

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM