如何编码Devanagari返回英文编码

Tej*_*jas 0 java internationalization

我在Java应用程序中使用"Google输入工具"进行梵文输入.以下是我Devanagari ??????在一个textField中输入的情况,我想namaste在第二个textBox中显示它的英文等价物.怎么做?

在此输入图像描述

  private void jTextField1KeyReleased(java.awt.event.KeyEvent evt) {                                        
    // TODO add your handling code here:
    String input = jTextField1.getText();
    jTextField2.setText(input); // I need code here to show input in English Encoding.
    System.out.println("Input "+input);
}  
Run Code Online (Sandbox Code Playgroud)

输出:

  Input n
  Input na
  Input nam
  Input nama
  Input namas
  Input namast
  Input namaste
  Input ??????
Run Code Online (Sandbox Code Playgroud)

Tej*_*jas 5

感谢 Pawel的评论.我查看了那个图书馆,这是Helper课程,解决了我的问题!

import com.ibm.icu.text.Transliterator;

/**
 * @author Tejas
 */

public class MarathiHelper {

    public String devanagariToLatin(String marathiString) {

        final String MAR_TO_ENG = "Devanagari-Latin";
        //final String DEV_TO_LATIN_NO_ACCENTS = "Devanagari-Latin; nfd; [:nonspacing mark:] remove; nfc";

        Transliterator toEnglish = Transliterator.getInstance(MAR_TO_ENG);
        String english = toEnglish.transliterate(marathiString);

        return english;

    }

    public String latinToDevanagari(String latinString) {

        final String ENG_TO_DEV = "Latin-Devanagari";

        Transliterator toMarathi = Transliterator.getInstance(ENG_TO_DEV);
        String marathi = toMarathi.transliterate(latinString);

        return marathi;
    }

    public String latinToAscii(String latinString){


        final String ENG_TO_DEV = "Latin-ASCII";
        Transliterator toMarathi = Transliterator.getInstance(ENG_TO_DEV);
        String ascii = toMarathi.transliterate(latinString);

        return ascii;

    }

    public String asciiToLatin(String asciiString){

        final String ENG_TO_DEV = "ASCII-Latin";
        Transliterator toMarathi = Transliterator.getInstance(ENG_TO_DEV);
        String latin = toMarathi.transliterate(asciiString);

        return latin;
    }
}
Run Code Online (Sandbox Code Playgroud)