मैं जावा के लिए नया हूं, इसलिए, मुझे लगता है कि, मानक कार्य के लिए मानक समाधान का उपयोग करना चाहता हूं। टैग और मानों की लंबाई ज्ञात नहीं है।क्या बीईआर-टीएलवी के लिए जावा पार्सर है?
उत्तर
मुझे बीईआर टीएलवी के लिए Javacard कक्षाएं मिलीं। उम्मीद है कि
का उपयोग करते हुए मैं यहाँ उपलब्ध कराई गई जानकारी के आधार पर एक सरल पार्सर बनाया: http://www.codeproject.com/Articles/669147/Simple-TLV-Parser
मैं अगर इस कोड को समर्थन सभी मानक पता नहीं है, लेकिन यह मेरे लिए काम करता है।
public static Map<String, String> parseTLV(String tlv) {
if (tlv == null || tlv.length()%2!=0) {
throw new RuntimeException("Invalid tlv, null or odd length");
}
HashMap<String, String> hashMap = new HashMap<String, String>();
for (int i=0; i<tlv.length();) {
try {
String key = tlv.substring(i, i=i+2);
if ((Integer.parseInt(key,16) & 0x1F) == 0x1F) {
// extra byte for TAG field
key += tlv.substring(i, i=i+2);
}
String len = tlv.substring(i, i=i+2);
int length = Integer.parseInt(len,16);
if (length > 127) {
// more than 1 byte for lenth
int bytesLength = length-128;
len = tlv.substring(i, i=i+(bytesLength*2));
length = Integer.parseInt(len,16);
}
length*=2;
String value = tlv.substring(i, i=i+length);
//System.out.println(key+" = "+value);
hashMap.put(key, value);
} catch (NumberFormatException e) {
throw new RuntimeException("Error parsing number",e);
} catch (IndexOutOfBoundsException e) {
throw new RuntimeException("Error processing field",e);
}
}
return hashMap;
}
सरल-टीएलवी बेर-टीएलवी से अलग है, और एक साधारण टीएलवी पार्सर अक्सर बेर-टीवीएल डेटा पर दुर्घटनाग्रस्त हो जाएगा –
javaemvreader परियोजना some code to parse BER-TLV शामिल हैं।
आप इस बीईआर-टीएलवी पार्सर का उपयोग कर सकते हैं: source code on git या download jar।
उदाहरण:
कैसे
byte[] bytes = HexUtil.parseHex("50045649534157131000023100000033D44122011003400000481F");
BerTlvParser parser = new BerTlvParser(LOG);
BerTlvs tlvs = parser.parse(bytes, 0, bytes.length);
कैसे निर्माण करने के लिए
byte[] bytes = new BerTlvBuilder()
.addHex(new BerTag(0x50), "56495341")
.addHex(new BerTag(0x57), "1000023100000033D44122011003400000481F")
.buildArray();
हो सकता है this free library आप के लिए उपयोगी हो सकता है पार्स करने के लिए। मैंने इसे सरल टीएलवी पार्सिंग के लिए इस्तेमाल किया है। वैसे भी यह एमआईटी लाइसेंस के साथ है और आप इसे संशोधित कर सकते हैं।
https://github.com/VakhoQ/tlv-encoder
- 1. क्या जावा भाषा के लिए जावा पार्सर है?
- 2. जावा के लिए सबसे अच्छा एचटीएमएल पार्सर क्या है?
- 3. क्या जावा के लिए कोई साधारण http प्रतिक्रिया पार्सर है?
- 4. क्या कोई जावा पार्सर है जो इस
- 5. विशाल फ़ाइलों के लिए जावा एक्सएमएल पार्सर
- 6. जावा पार्सर
- 7. जावा के लिए एक अच्छा हल्के एचएल 7 पार्सर है?
- 8. क्या PHP के लिए jsoup-like HTML पार्सर है?
- 9. जावा डाक पता पार्सर
- 10. robots.txt पार्सर जावा
- 11. जावा में एसजीएमएल पार्सर?
- 12. जावा SAX पार्सर UnknownHostException
- 13. जावा स्रोत कोड पार्सर
- 14. जावा सीएलआई पार्सर
- 15. पर्ल के लिए सबसे अच्छा एक्सएमएल पार्सर क्या है?
- 16. php के लिए एक अच्छा पार्सर जेनरेटर क्या है?
- 17. डेल्फी के लिए सबसे तेज़ एक्सएमएल पार्सर उपलब्ध क्या है?
- 18. क्या जावा में कोई अच्छा एक्स 12 पार्सर है?
- 19. जावा के लिए ओपन सोर्स एबीएनएफ पार्सर कार्यान्वयन?
- 20. PHP के लिए कोई पीडीएफ पार्सर है?
- 21. रेगेक्स के लिए बीएनएफ क्या है (पूर्ण या आंशिक पार्सर लिखने के लिए)
- 22. जावा: क्या है "(;;) के लिए"
- 23. JavaCC पार्सर विकल्प अग्रावलोकन, जावा
- 24. जावा उपयोगकर्ता एजेंट स्ट्रिंग पार्सर
- 25. जावा में बूलियन अभिव्यक्ति पार्सर
- 26. जावा में पीडीएफ पार्सर एपीआई
- 27. क्या एक .NET CQL पार्सर मौजूद है?
- 28. आरएसएस फ़ीड जावा में पार्सर लाइब्रेरी
- 29. फ्री जावा एचटीएमएल और जेएस पार्सर
- 30. क्या LINQ के लिए जावा समतुल्य है?
क्या आपको वह चाहिए जो आपको चाहिए? https://github.com/VakhoQ/tlv-encoder – grep