2014-02-23 37 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