我有一个node.js代码,它通过UDP(dgram)接收[command + data]并在AWS中创建一个S3存储桶文件。
问题是,因为命令+数据是用' |'字符,我必须转换为字符串以应用split()
并分离命令和数据。然后我将此数据传递给S3Bucket.putObject
,这将创建一个包含该数据的文件。数据是二进制的,因此它可能包含非ASCII字符,例如0xE5
(dec 224)。
但是当我检查创建的文件时,它包含一个像0xEF 0xBF 0xBD
这样的序列替换原始文件,所以我想这是将数据从二进制文件(dgram中的缓冲区)转换为字符串的结果。
我尝试使用Buffer.from('binary')
和其他编码将数据转换回缓冲区,但到目前为止我还没有把它弄好......
我该如何解决这个问题?什么是实现这一目标的正确方法?
答案 0 :(得分:0)
您不必转换为字符串:
import java.io.*;
import java.util.*;
import java.text.*;
import java.math.*;
import java.util.regex.*;
public class Solution {
static String subsequenceAgain(String s, int k) {
// Complete this function
char ch[] = new char[s.length()]; //initializing character array
int len = s.length(); //calculating length of string
for (int i = 0; i < len; i++) {
int count = 0;
for (int j = 0; j < len; j++) {
if (s.charAt(i) == s.charAt(j)) // making comparison with each character
count++;
}
if (count >= k) {
ch[i] = s.charAt(i);
System.out.print(ch[i]); // subsequence to be printed
}
}
return "null";
}
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
String s = in .next();
int k = in .nextInt();
String result = subsequenceAgain(s, k);
in .close();
}
}