2014-02-23 97 views
0

我正在構建一個應用程序,我希望用戶通過更改其字體來實現某些其他我的區域語言中的文本輸入。現在,但在後端,我希望它的Unicode被提取,但我怎麼能實現它.. ??如果我複製那個字符串並在任何地方輸入它的英文語言.. ?? Java如何知道語言..?在JTextArea(Java)中獲取以區域語言輸入的文本的Unicode

這是代碼: -

/* some code */ 
    static Font f4=new Font("AnmolLipiThick",Font.BOLD ,15); 
/* some code */ 
       ta = new JTextArea(); 
       //ta.setFont(f2); 
       ta.setFont(f4); 
       //ta.setWrapStyleWord(false); 
       ta.setBackground(Color.ORANGE); 
       ta.setLineWrap(true); 
       c.gridy = 2; 
       c.weighty = 0.4; 
       c.fill = GridBagConstraints.BOTH;   
       frame.add(ta,c); 
/* some code */ 

如在我上面的Java代碼的字體是旁遮普語.. !! Java如何才能瞭解這種情況,以便從該代碼平面啓動Unicode ...... !!如何實現它plz幫助我出來.. ??

+0

我正在尋找代碼,儘快我會找到,我會發布。 – Sheel

+0

PLZ傢伙,是否有人誰可以至少有提示呢.. !! – Gurjit

+0

你是如此不清楚的Plz傢伙... – beny1700

回答

0
<p align=right><div id="google_translate_element"></div><script type="text/javascript"> 
function googleTranslateElementInit() { 
new google.translate.TranslateElement({pageLanguage: 'en', layout: 
google.translate.TranslateElement.InlineLayout.SIMPLE}, 'google_translate_element'); 
} 
</script><script type="text/javascript"   

src="//translate.google.com/translate_a/element.js?cb=googleTranslateElementInit"> 
</script> 
</p> 

Try with it if still not able to get it plz comment below,I am still need a 
lot of searching because I have forget where I have put that file. 
+0

這裏你使用在線工具,如果我沒有錯,但PLZ閱讀我上面的評論..! – Gurjit

+0

辦公室非常繁忙,我會盡量幫助你,當我有空時間。 – Sheel

0

這幾乎是不可能瞭解你想在寫這個的時刻是什麼。但是,我會採取刺傷在黑暗中,希望我說什麼可以幫你..

人物在Java中每個是2個字節。每個字節可以保存一個代碼點,或者兩者都可以保存一個代碼點。 Java的字符因此是UTF-16編碼的。 http://www.oracle.com/us/technologies/java/supplementary-142654.html

TLDR(你會需要這些):如果字符的代碼點大於0xFFFF那麼它會用2個字符(代理對)

你可以在這裏閱讀更多關於處理此編碼:

Character.toCodePoint(char high, char low) 
Character.toChars(int codePoint) 
Character.codePointAt(char[] a, int index) 
Character.isHighSurrogate(char ch) 
Character.isLowSurrogate(char ch) 
Character.isLetter(int codePoint) 
Character.isValidCodePoint 

而且如果你需要使用本地字符串:

那麼你可以傳遞,然後來回的Java像這樣:

void Java_natives_toUTF8(JNIEnv* env, jobject obj, jstring utf16) 
{ 
    const char* utf8 = reinterpret_cast<const char*>(env->GetStringUTFChars(utf16, NULL)); 

    //Do whatever with utf8.. it is UTF8 format. 

    env->ReleaseStringUTFChars(utf8, reinterpret_cast<const char*>(utf16)); 
} 
+0

hmm ,,,我覺得問題很簡單我有一個textArea,用戶可以用不同的語言輸入文本。例如spainish,french,punjabi(在我的情況下)只需要輸入字體。我希望Java可以通過這種機制瞭解用戶正在輸入的語言,然後可以提取代碼。 – Gurjit