2014-04-23 11 views
7

मैं एक "java.lang.IllegalArgumentException: बुरा आधार -64" हो रही है निम्नलिखित कोड पर:बुरा आधार -64 त्रुटि

byte[] msgBytes = Base64.decode(msgStr, Base64.NO_WRAP); 

msgString एक स्ट्रिंग है, और सही इस लाइन से पहले, मैं जाँच msgStr का मान और यह "fl-ILw ==" है। क्या कुछ गड़बड़ है?

धन्यवाद।

उत्तर

6

आरएफसी 4648 (http://www.rfc-editor.org/rfc/rfc4648.txt) के अनुसार '-' वर्ण वैध बेस 64 वर्ण नहीं है लेकिन दूसरी ओर "यूआरएल और फ़ाइल नाम सुरक्षित बेस 64 वर्णमाला" के लिए मान्य है।

तो आप स्ट्रिंग के अपेक्षित प्रारूप के आधार पर Base64.URL_SAFE का उपयोग कर सकते हैं।

+1

मैं देखता हूं। धन्यवाद। फ़ाइलों को नाम देने के लिए इसे सुरक्षित रखने के लिए मैंने क्रमशः '/' और '+' से '_' और '-' को प्रतिस्थापित किया था। यह तब होना चाहिए। धन्यवाद! – user1118764

संबंधित मुद्दे