Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
相当于java中编码的C#代码_Java_C#_Keypress_Utf 16 - Fatal编程技术网

相当于java中编码的C#代码

相当于java中编码的C#代码,java,c#,keypress,utf-16,Java,C#,Keypress,Utf 16,我需要知道以下代码的Java等价物是什么。 我需要在Java中以字符串形式传递函数键。C#中的以下代码正在运行。我需要知道如何在Java中实现这一点 String escKey = System.Text.Encoding.ASCII.GetString(new byte[] {27}); String f1Key = escKey+ "[11~"; 您可以使用以下方法: Character.toString((char)27); 您可以使用以下方法: Character.toString

我需要知道以下代码的Java等价物是什么。 我需要在Java中以字符串形式传递函数键。C#中的以下代码正在运行。我需要知道如何在Java中实现这一点

String escKey = System.Text.Encoding.ASCII.GetString(new byte[] {27});

String f1Key = escKey+ "[11~";

您可以使用以下方法:

Character.toString((char)27);

您可以使用以下方法:

Character.toString((char)27);

Java和C语言都不需要使用这种复杂的代码。在这两种语言中,您都可以使用unicode转义
\u001B
表示转义字符,在Java中,您也可以使用八进制转义
\033

因此,在C#和Java中,您都可以使用:

String f1Key = "\u001B[11~"
或者,在Java中,您可以执行以下操作:

String f1Key = "\033[11~"
但是,如果您希望直接使用Java语言编写与C#代码等效的代码,那么它应该是:

String escKey = new String(new byte[] { 27 }, StandardCharsets.US_ASCII);
String f1Key = escKey + "[11~";

Java和C语言都不需要使用这种复杂的代码。在这两种语言中,您都可以使用unicode转义
\u001B
表示转义字符,在Java中,您也可以使用八进制转义
\033

因此,在C#和Java中,您都可以使用:

String f1Key = "\u001B[11~"
或者,在Java中,您可以执行以下操作:

String f1Key = "\033[11~"
但是,如果您希望直接使用Java语言编写与C#代码等效的代码,那么它应该是:

String escKey = new String(new byte[] { 27 }, StandardCharsets.US_ASCII);
String f1Key = escKey + "[11~";

你的c#代码比它应该的复杂得多。在C#和Java中,您只需执行
(char)27+“[11~”
即可生成字符串。您只需要生成字符串,对吗?对我来说,这个问题似乎与ssh或utf-16没有任何关系,顺便说一句。@Sweeper实际上在C中,您可以在字符串中直接将其指定为十六进制值,如
“\u001B[11~”
@nyrguds你也可以用Java来做,但我懒得在脑子里做十六进制转换……这正好说明这两种语言有多么相似:-)你的c代码比它应该的复杂得多。在c和Java中,你都可以做
(char)27+“[11~”
生成字符串。您只想生成字符串,对吗?对我来说,这个问题似乎与ssh或utf-16没有任何关系,顺便说一句。@Sweeper事实上在C中,您可以在字符串中直接将其指定为十六进制值,如
“\u001B[11~”
@Nyerguds您也可以在Java中这样做,但我懒得在头脑中进行十六进制转换……这正好说明这两种语言有多么相似:-)或者OP可以只做
“\u001B[11~”
或者
“\033[11~”
,第一种语言可以在Java和C中工作,第二种语言只能在Java中工作。或者OP可以只做
“\u001B[11~”
“\033[11~”
,第一个将在Java和C#中工作,第二个仅在Java中工作。Mark Rotterveel我能够为F1、F2、F3[[esckey+11~,[12~,[13~]传递类似上述方法的功能键.但对于F6键,这不起作用。请help@Hanna我从不使用转义码,但通过谷歌搜索可以发现F1-F5被映射到11-15,F6-F10被映射到17-21,F11-F12被映射到23和24。Mark Rotterveel我可以为F1,F2,F3[[esckey+11~,[12~,[13~]传递类似上述方法的功能键.但对于F6键,这不起作用。请help@Hanna我从不使用转义码,但通过谷歌搜索可以发现F1-F5被映射到11-15,F6-F10被映射到17-21,F11-F12被映射到23和24。