如何将 UTF8 字符串转换为 UTF16

2023-11-25

我通过处理客户端应用程序发送的请求来获取 UTF8 字符串。但字符串确实是UTF16。我能做些什么来将它放入我的本地字符串中是一个字母,后跟\0特点?我需要将该字符串转换为 UTF16。

收到的字符串示例:S\0a\0m\0p\0l\0e (UTF8).
我想要的是:Sample (UTF16)

FileItem item = (FileItem) iter.next();
String field = "";
String value = "";
if (item.isFormField()) {
  try{
    value=item.getString();
    System.out.println("====" + value);
  }

来自服务器的字节是notUTF-8 如果它们看起来像S\0a\0m\0p\0l\0e。它们是 UTF-16。您可以将 UTF16 字节转换为 JavaString with:

byte[] bytes = ...
String string = new String(bytes, "UTF-16");

或者你可以使用UTF-16LE or UTF-16BE如果您知道来自服务器的字节流的字节序,则将其作为字符集名称。

如果你已经(错误地)构建了一个String从字节来看,就好像它是 UTF-8 一样,您可以使用以下命令转换为 UTF-16:

string = new String(string.getBytes("UTF-8"), "UTF-16");

然而,正如 JB Nizet 指出的那样,如果字节不是有效的 UTF-8 开头,则此往返(字节 -> UTF-8 字符串 -> 字节)可能会出现损耗。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何将 UTF8 字符串转换为 UTF16 的相关文章

随机推荐

  • Android使用支持库来支持SearchView

    这是我的代码 if Build VERSION SDK INT gt Build VERSION CODES HONEYCOMB MenuItem searchItem menu findItem R id searchMenuItem S
  • @WebServlet 注释 web.xml 欢迎文件

    我想设置 JSP JavaBeans 项目的欢迎文件 我有一个名为 Controller java 的 servlet 带有以下 WebServlet 注释 WebServlet name Controller urlPatterns lo
  • SetValue 64位机器注册表

    我想在下面的注册表路径中设置 NoModify 的值 HKEY LOCAL MACHINE SOFTWARE Microsoft Windows CurrentVersion Uninstall XXXX 我使用下面的代码 它仅适用于 X8
  • Android Studio 与 Google Play:缺少 Google Play 服务

    我使用的是 Ubuntu 14 Android Studio 0 8 6 我正在使用 Genymotion 运行应用程序 我得到的响应是 W GooglePlayServicesUtil Google Play services is mi
  • 异步 HttpModule MVC

    我有一个包含以下代码的同步 HttpModule
  • Python:无法在 Matplotlib 中渲染 Tex

    我最近将笔记本电脑升级到 Snow Leopard 将 TeX 更新到版本 3 1415926 TeX Live 2011 MacPorts 2011 5 并安装了 Python 2 7 3 所有这些安装完成后 我运行了 macport s
  • Node.js 将响应对象句柄传递给子进程

    我有一个http服务器和一个分叉的子进程 我希望父级接收请求并使用以下方式传递给分叉进程worker send 并且工作人员应该能够使用相同的响应对象处理响应并将其发送回请求者 我尝试在第二个参数中发送响应对象worker send 但它给
  • ASP.NET MVC。检查用户是否获得 JavaScript 授权

    我正在使用 ASP NET MVC Framework 3 和表单身份验证 我知道 如何在服务器端检查用户是否有权执行某些操作 使用 Authorize 并且我知道如何在操作或视图中检查这一点 使用User Identity IsAuthe
  • C++ 是否对 POD typedef 进行值初始化?

    C 是否对简单对象进行值初始化POD类型定义 Assuming typedef T Ptr does Ptr 进行值初始化并保证相等 T 0 e g Ptr p Ptr return Ptr 确实如此 对于一个类型T T 值初始化类型的 对
  • 创建名为“entityManagerFactory”的 bean 时出错 调用 init 方法失败

    我正在使用 Spring 和 Hibernate 开发一个完整的堆栈 Web 应用程序 尝试运行一些测试代码 但我不断收到此错误 这是完整的堆栈跟踪 java lang IllegalStateException Failed to loa
  • 如何在布局中间插入 QWidget?

    我正在使用 Qt 框架来构建我的图形用户界面 我用一个QGrid布局整齐地放置我的 QWidget 图形用户界面如下所示 我的应用程序定期在运行时向 GUI 添加新的小部件 这些新的小部件通常不会添加在 QLayout 的末尾 而是添加在中
  • Android Jetpack Compose 中第二次更改后,观察 LiveData 不会触发

    我正在使用 viewModel 将数据传递到我的撰写视图 问题是我想通过在 viewModel 中的模型内归档来处理展开和折叠视图 因此 如果某些 UI 单击 Expand 方法 我将调用 viewModel 和 doExpand 方法 如
  • 如何使用 Django Admin 中的 FileField 小部件将文件上传到 BinaryField?

    我想创建一个模型Changelog并使其可从管理页面进行编辑 这是它的定义方式models py class Changelog models Model id models AutoField primary key True auto
  • 想要在 AVD 上的 SD 卡中创建文件夹

    我想在SD卡中创建文件夹 我在 android 终端中使用以下命令 CD卡 目录音乐 mkdir 音乐失败 权限被拒绝 尝试下面的代码 它工作正常 you need to run emulator before run the below
  • Windows Phone 7 - CameraTask 不工作

    我的 WP7 应用程序使用 CameraCaptureTask 拍照 然后将其显示在我的屏幕上 该任务在模拟器上运行良好 但是当我将其部署到设备上时它停止工作 在调试时 我发现 CameraCaptureTaskObject Show 被调
  • 如何从Iframe获取父窗口的URL?

    我知道这是一个安全问题 但是HTML5有什么办法吗 因为我看到下面的代码打开了一个窗口 其中父母的 URL 在推文框中 在 iframe 中试试这个 它将提醒父窗口的位置 URL alert document referrer
  • 如何使用swift在IOS中实现marquee标签

    如何实施跑马灯标签在 iOS 中 我在 Objective C 中找到了示例 但我使用的是 Swift 用于在 swift 中创建选取框 在项目中添加下面的类https github com cbpowell MarqueeLabel 为此
  • 如何在闪亮的数据表中保存排序?

    我在页面上有表格 可以在列中排序 在我使用反应表重新加载数据后 不再排序 这里是 server R 代码 library shiny shinyServer function input output Return the requeste
  • Short 和Character 除了处理之外还有什么区别?

    据我所知 bytewise 看起来它们是相同的 它们都是 2 个字节长 Character然而 有更多的处理 静态 isLetter 方法等 虽然我的问题听起来很愚蠢 但它们是 除非我的第一个假设是错误的 否则为什么会有原始类型char a
  • 如何将 UTF8 字符串转换为 UTF16

    我通过处理客户端应用程序发送的请求来获取 UTF8 字符串 但字符串确实是UTF16 我能做些什么来将它放入我的本地字符串中是一个字母 后跟 0特点 我需要将该字符串转换为 UTF16 收到的字符串示例 S 0a 0m 0p 0l 0e U