2012-10-02 31 views
9

पहला - अगर माफी माँगती है तो इसका जवाब सौ गुना अधिक है! डी 'ओह!क्या यूएनआईसीओडीई या एएनएसआई कोड-पेज के रूप में संकलित संसाधन फाइलें हैं?

लेकिन मेरी खोज-फू जाहिरा तौर पर, बेकार के रूप में मैं इस बुनियादी सवाल का जवाब कोई किस्मत आ रही हैं:

कैसे संसाधनों EXE/DLL में जमा हो जाती? यूनिकोड (यूसीएस -2, विंडोज मूल आंतरिक चरित्र प्रारूप) के रूप में, या संसाधन ब्लॉक के कोड-पेज का उपयोग कर मल्टीबाइट वर्णों के रूप में?

  • कैसे एक के संसाधनों (आर सी) में एक एम्बेड यूनिकोड तार करता है?
  • क्या यूनिकोड (यूसीएस -2) पाठ वीएस 2012 के भीतर से भाषा तारों में डाला जा सकता है?
  • क्या विंडोज अभी भी यूसीएस -2 का उपयोग कर रहा है, या क्या यह आंतरिक रूप से यूटीएफ 16 का उपयोग कर रहा है?

मैं एक यूनिकोड स्ट्रिंग को एक .rc स्ट्रिंग तालिका में डालने के लिए विस्तृत विवरण के बजाय सामान्य उत्तरों, या विवरण के लिंक की तलाश में हूं। धन्यवाद!

+2

यह सीधे आपके प्रश्न से संबंधित नहीं है, लेकिन विंडोज 2000 के बाद से विंडोज़ का आंतरिक चरित्र प्रारूप यूटीएफ -16 रहा है। यूटीएफ -16 और यूसीएस -2 के बीच अंतर कुछ हैं, लेकिन वे मौजूद हैं। – kusma

उत्तर

7

WIN32 के सभी संसाधन तार यूनिकोड के रूप में संकलित कर रहे हैं। अधिक जानकारी के लिए here देखें। .आरसी स्क्रिप्ट स्वयं उपयुक्त बीओएम (reference) के साथ एएनएसआई (स्थानीय कोडपेज का उपयोग कर) या यूसीएस -2 हो सकती है।

+0

THe आरसी स्क्रिप्ट यूसीएस -2 भी हो सकती है। – Deanna

+0

संपादन के लिए धन्यवाद, दीना। मैं बस उस पेस्ट को पेस्ट करने वाला था। – WhozCraig

+0

तो, नीचे की रेखा, इससे कोई फर्क नहीं पड़ता कि EXE/DLL प्रोजेक्ट एमबीसीएस या यूनिकोड में सेट है या नहीं - EXE/DLL के भीतर बाइनरी संसाधन यूनिकोड में संवाद, स्ट्रिंग जैसी चीजों के लिए हैं टेबल, और इतने पर? – Mordachai

3

यदि संदेह में हेक्स पर एक नज़र डालें। यहाँ notepad.exe के आर सी फ़ाइल की शुरुआत, UTF16 में:

0002ed60 01 00 53 00 74 00 72 00 69 00 6e 00 67 00 46 00 |..S.t.r.i.n.g.F.| 
0002ed70 69 00 6c 00 65 00 49 00 6e 00 66 00 6f 00 00 00 |i.l.e.I.n.f.o...| 
0002ed80 a6 02 00 00 01 00 30 00 34 00 30 00 39 00 30 00 |......0.4.0.9.0.| 
0002ed90 34 00 42 00 30 00 00 00 4c 00 16 00 01 00 43 00 |4.B.0...L.....C.| 
0002eda0 6f 00 6d 00 70 00 61 00 6e 00 79 00 4e 00 61 00 |o.m.p.a.n.y.N.a.| 
0002edb0 6d 00 65 00 00 00 00 00 4d 00 69 00 63 00 72 00 |m.e.....M.i.c.r.| 
0002edc0 6f 00 73 00 6f 00 66 00 74 00 20 00 43 00 6f 00 |o.s.o.f.t. .C.o.| 
0002edd0 72 00 70 00 6f 00 72 00 61 00 74 00 69 00 6f 00 |r.p.o.r.a.t.i.o.| 
+0

यह सवाल का जवाब नहीं देता है। सवाल यह है कि, यूनिकोड वर्णों को .rc फ़ाइल में रखा जा सकता है या नहीं। संसाधन कंपाइलर के ** आउटपुट ** को देखकर आप इसका उत्तर नहीं दे सकते। इसके अलावा, हेक्सडम्प में कुछ भी यूटीएफ -16 की पहचान नहीं करता है। यह यूसीएस -2 भी हो सकता है। – IInspectable