EOS6中的文件编码

转载于:http://gocom.primeton.com/showblogarticle.php?cat_id=3210&blogId=27051&PHPSESSID=%3C

 

将EOS5中生成的JSP文件复制到EOS6中中文出现乱码,是因为文件编码引起。
EOS6与EOS5相比,在文件编码问题上有了很多变化,由此会产生一些问题,
Eclipse中文件编码有两种方式:一是从容器继承,另一个是从内容确定。

在EOS5中容器编码类型默认是GBK格式,常见文件类型绝大部分也是指定为GBK格式,因此不需要过多考虑文件编码问题,
而在EOS6中容器类型默认是GBK格式,但是大部分常见文件类型被指定为UTF-8格式,
打开窗口》首选项》常规》内容类型可以看到,非常多的文件类型被默认置为UTF-8格式,
包括EOS自定义类型文件、JSP、XML、CSS、JS和HTML文件等,除这些被指定的文件类型之外,
文件编码都要从容器继承,包括JAVA文件。

根据以上可以看出EOS6中JSP和XML文件默认为UTF-8格式,但是当在文件中指定格式后将按指定文件编码存储,
比如JSP中如果有<%@page  pageEncoding="GBK"%>
或<%@ page language="java" contentType="text/html; charset=GBK"%>,则文件按GBK存储。

因此在将没有在文件内部指定编码类型的JSP等文件复制到EOS6中时,则中文会出现乱码。
如果需要导入GBK编码的JSP文件的话,需要先在JSP中加入<%@page  pageEncoding="GBK"%>,
导入后为保证编码统一,再更改为<%@page  pageEncoding="UTF-8"%>。

在开发国际项目时一般将容器类型改为UTF-8编码,在EOS6中是否可以将容器类型改为UTF-8呢,
如果你要导入ABFRAME项目则会出现一点问题,因为ABFRAME项目是在GBK编码下开发的,所有的JAVA文件都是GBK编码,
更改后JAVA文件中中文都会成为乱码,需要自己处理乱码问题。

查看更改项目编码可以在项目名点右键,选属性》信息》文本文件编码。
查看更改容器编码可以打开窗口》首选项》常规》工作空间》文本文件编码。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
RK3588 MPP是Rockchip公司最新的一款高性能多媒体处理芯片,其编码流程大致如下: 1. 初始化MPP库,创建编码器对象。 2. 设置编码参数,包括视频编码格式、分辨率、帧率、码率等。 3. 分配输入数据和输出数据的缓冲区。 4. 获取输入数据,将输入数据填充到输入缓冲区。 5. 调用编码器接口进行编码,将编码后的数据填充到输出缓冲区。 6. 将输出数据写入文件或网络等目标位置。 7. 重复步骤4至6,直到所有数据编码完毕。 下面是一个简单的RK3588 MPP编码的代码demo,仅供参考: ```c++ #include <stdio.h> #include "rk_mpi.h" int main() { // 初始化MPP库 RK_MPI_SYS_Init(); // 创建编码器对象 MPP_ENC_CTX enc_ctx; memset(&enc_ctx, 0, sizeof(MPP_ENC_CTX)); RK_MPI_VENC_Create(&enc_ctx, RK_ID_VENC_H264); // 设置编码参数 MPP_ENC_CFG enc_cfg; memset(&enc_cfg, 0, sizeof(MPP_ENC_CFG)); enc_cfg.codec_type = MPP_VIDEO_CodingAVC; enc_cfg.frm_rate = 25; enc_cfg.bps = 1000000; enc_cfg.width = 1280; enc_cfg.height = 720; RK_MPI_VENC_SetCfg(enc_ctx, &enc_cfg); // 分配输入数据和输出数据的缓冲区 MPP_BUFFER input_buf, output_buf; RK_MPI_SYS_Malloc(&input_buf, "input", enc_cfg.width * enc_cfg.height * 3 / 2); RK_MPI_SYS_Malloc(&output_buf, "output", enc_cfg.width * enc_cfg.height * 3 / 2); // 打开输入文件和输出文件 FILE* input_file = fopen("input.yuv", "rb"); FILE* output_file = fopen("output.h264", "wb"); // 编码循环 while (1) { // 读取一帧输入数据 fread(input_buf, 1, enc_cfg.width * enc_cfg.height * 3 / 2, input_file); // 设置输入数据 MPP_ENC_DATA enc_data; memset(&enc_data, 0, sizeof(MPP_ENC_DATA)); enc_data.pkt_len = enc_cfg.width * enc_cfg.height * 3 / 2; enc_data.pkt_buf = input_buf; RK_MPI_VENC_SendFrame(enc_ctx, &enc_data); // 获取编码后的输出数据 MPP_ENC_DATA enc_out; memset(&enc_out, 0, sizeof(MPP_ENC_DATA)); RK_MPI_VENC_GetPacket(enc_ctx, &enc_out); // 写入输出文件 fwrite(enc_out.pkt_buf, 1, enc_out.pkt_len, output_file); if (enc_out.eos) { break; } } // 关闭文件和释放缓冲区 fclose(input_file); fclose(output_file); RK_MPI_SYS_Free(input_buf); RK_MPI_SYS_Free(output_buf); // 销毁编码器对象和MPP库 RK_MPI_VENC_Destroy(enc_ctx); RK_MPI_SYS_Exit(); return 0; } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值