मैंने पाया कि मुझे इस दृष्टिकोण के साथ समस्याएं थीं, मूल रूप से क्योंकि मैं एक फ़ाइल में आउटपुट लिखने की कोशिश कर रहा था और यह गैर एनकोडेड था। चूंकि JS UCS-2 एन्कोडिंग ( स्रोत , स्रोत ) का उपयोग करने के लिए लगता है , हमें इस समाधान को एक कदम आगे बढ़ाने की आवश्यकता है, यहां मेरा बढ़ाया हुआ समाधान है जो मेरे लिए काम करता है।
मुझे जेनेरिक पाठ से कोई कठिनाई नहीं थी, लेकिन जब यह अरब या कोरियाई के लिए नीचे था, तो आउटपुट फ़ाइल में सभी वर्ण नहीं थे, बल्कि त्रुटि वर्ण दिखा रहे थे।
फ़ाइल आउटपुट:
","10k unit":"",Follow:"Õ©íüY‹","Follow %{screen_name}":"%{screen_name}U“’Õ©íü",Tweet:"ĤüÈ","Tweet %{hashtag}":"%{hashtag} ’ĤüÈY‹","Tweet to %{name}":"%{name}U“xĤüÈY‹"},ko:{"%{followers_count} followers":"%{followers_count}…X \Ì","100K+":"100Ì tÁ","10k unit":"Ì è",Follow:"\°","Follow %{screen_name}":"%{screen_name} Ø \°X0",K:"œ",M:"1Ì",Tweet:"¸","Tweet %{hashtag}":"%{hashtag}
मूल:
","10k unit":"万",Follow:"フォローする","Follow %{screen_name}":"%{screen_name}さんをフォロー",Tweet:"ツイート","Tweet %{hashtag}":"%{hashtag} をツイートする","Tweet to %{name}":"%{name}さんへツイートする"},ko:{"%{followers_count} followers":"%{followers_count}명의 팔로워","100K+":"100만 이상","10k unit":"만 단위",Follow:"팔로우","Follow %{screen_name}":"%{screen_name} 님 팔로우하기",K:"천",M:"백만",Tweet:"트윗","Tweet %{hashtag}":"%{hashtag}
मैंने डेनिस के समाधान से जानकारी ली और यह पोस्ट मुझे मिली।
यहाँ मेरा कोड है:
function encode_utf8(s) {
return unescape(encodeURIComponent(s));
}
function decode_utf8(s) {
return decodeURIComponent(escape(s));
}
function ab2str(buf) {
var s = String.fromCharCode.apply(null, new Uint8Array(buf));
return decode_utf8(decode_utf8(s))
}
function str2ab(str) {
var s = encode_utf8(str)
var buf = new ArrayBuffer(s.length);
var bufView = new Uint8Array(buf);
for (var i=0, strLen=s.length; i<strLen; i++) {
bufView[i] = s.charCodeAt(i);
}
return bufView;
}
यह मुझे एन्कोडिंग समस्याओं के बिना फ़ाइल को सामग्री को सहेजने की अनुमति देता है।
यह कैसे काम करता है: यह मूल रूप से एक यूटीएफ -8 चरित्र की रचना करने वाले एकल 8-बाइट का हिस्सा लेता है और उन्हें एकल पात्रों के रूप में बचाता है (इसलिए इस तरह से निर्मित एक यूटीएफ -8 चरित्र, इन वर्णों के 1-4 द्वारा रचा जा सकता है)। UTF-8 एक प्रारूप में वर्णों को कूटबद्ध करता है जो लंबाई में 1 से 4 बाइट्स तक होता है। हम यहां क्या कर रहे हैं एक यूआरआई घटक में स्टिंग एन्कोडिंग है और फिर इस घटक को लें और इसे संबंधित 8 बाइट चरित्र में अनुवाद करें। इस तरह हम UTF8 वर्णों द्वारा दी गई जानकारी को नहीं खोते हैं जो 1 बाइट से अधिक लंबी होती हैं।
Int8Array
ArrayBufferView
तो हो सकता है कि चार्टstring[i] = buffer[i]
और इसके विपरीत कॉपी करने के लिए केवल ब्रैकेट नोटेशन का उपयोग करें ।