java Servlet里的byte temp[]=s.getBytes(“ISO-8859-1”);是什么意思? 2012-07-17 11:46javaxwow | 分类:JAVA相关 | 浏览7

本文解释了 Java Servlet 代码中使用 ISO-8859-1 字符集解码中文字符串的过程,包括如何将字符串转换为字节类型,并使用此字符集进行解码。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >



java Servlet里的byte temp[]=s.getBytes(“ISO-8859-1”);是什么意思?

2012-07-17 11:46 javaxwow  |  分类:JAVA相关  |  浏览721次
在用java Servlet做html的后台
上面有段代码是说处理中文字符串的函数
String s=str;
try{byte temp[]=s.getBytes(“ISO-8859-1”);
..
..
..

}
try{byte temp[]=s.getBytes(“ISO-8859-1”);
s=new String(temp);
return s;
}
catch(Exception e){
return s;

}
2012-07-17 12:38 提问者采纳
使用ISO-8859-1字符集解码。。 就是 比如    文件的某行有   1asd32fs3…… 一串字符。。 他会转为字节型数据  然后按顺序截取一定长度 4位 八位 十六位 等等.来用于ISO-8859-1解码。。。。。。。。。。。。。至于ISO-8859-1是什么不重要 它只是一种协议

java Servlet里的byte temp[]=s.getBytes(“ISO-8859-1”);是什么意思?

2012-07-17 11:46 javaxwow  |  分类:JAVA相关  |  浏览721次
在用java Servlet做html的后台
上面有段代码是说处理中文字符串的函数
String s=str;
try{byte temp[]=s.getBytes(“ISO-8859-1”);
..
..
..

}
try{byte temp[]=s.getBytes(“ISO-8859-1”);
s=new String(temp);
return s;
}
catch(Exception e){
return s;

}
2012-07-17 12:38 提问者采纳
使用ISO-8859-1字符集解码。。 就是 比如    文件的某行有   1asd32fs3…… 一串字符。。 他会转为字节型数据  然后按顺序截取一定长度 4位 八位 十六位 等等.来用于ISO-8859-1解码。。。。。。。。。。。。。至于ISO-8859-1是什么不重要 它只是一种协议
@PostMapping("/uploadPmPhoto") @ApiOperation("拍照上传图片进行识别") @AutoLog(appName = ApiConst.TRACK_IN,moduleName = "uploadPhoto") public R<ImageReturnDto> uploadPmPhoto(HttpServletRequest request) { log.info("上传图片进行识别:" + CurrentUser.getUser().getWorkNo()); ImageReturnDto imageReturnDto = new ImageReturnDto(); MultipartHttpServletRequest multipartHttpServletRequest = (MultipartHttpServletRequest)request; MultiValueMap<String, MultipartFile> fileMap = multipartHttpServletRequest.getMultiFileMap(); MultipartFile file = fileMap.getFirst("file"); try { if(ocrUrl2Flag){ String originalFilename = file.getOriginalFilename(); // 生成临时文件 String tempPath = System.getProperty("java.io.tmpdir"); File tempFile = new File(tempPath + originalFilename); InputStream inputStream = null; if (!tempFile.exists()) { inputStream = file.getInputStream(); Files.copy(inputStream, tempFile.toPath()); } FileSystemResource resource = new FileSystemResource(tempFile); HttpHeaders headers = new HttpHeaders(); headers.setContentType(MediaType.MULTIPART_FORM_DATA); headers.set("Accept-Charset", "UTF-8"); MultiValueMap<String,Object> body = new LinkedMultiValueMap<>(); body.add("file",resource); HttpEntity<MultiValueMap<String, Object>> httpEntity = new HttpEntity<>(body, headers); ResponseEntity<String> responseEntity = restTemplate.exchange(ocrUrl2, HttpMethod.POST, httpEntity, new ParameterizedTypeReference<String>() { }); Files.delete(tempFile.toPath()); if(responseEntity.getStatusCodeValue() == 200){ JSONObject jsonObject = JSONObject.parseObject(responseEntity.getBody()); imageReturnDto.setOCRText(jsonObject.getString("processedOCRTexts")); imageReturnDto.setImageData(jsonObject.getString("imageData")); log.info("OCR识别结果:{}",jsonObject.getString("processedOCRTexts")); return R.success(imageReturnDto); }else{ log.error("OCR识别服务异常:{}", responseEntity); return R.fail("OCR识别服务异常"); } }else{ String imageOcrDto = multipartHttpServletRequest.getParameter("imageOcrDto"); ImageOcrDto imageOcrDtoNew = new ImageOcrDto(); String base64String = null; byte[] fileBytes = file.getBytes(); base64String = Base64.getEncoder().encodeToString(fileBytes); ImageOcrFileDto imageOcrFileDto = new ImageOcrFileDto(); imageOcrFileDto.setFileName("1.jpg"); imageOcrFileDto.setImageData(base64String); List<ImageOcrFileDto> imageOcrFileDtoList = new ArrayList<>(); imageOcrFileDtoList.add(imageOcrFileDto); imageOcrDtoNew = JSONObject.parseObject(imageOcrDto, ImageOcrDto.class); imageOcrDtoNew.setFiles(imageOcrFileDtoList); ImageOcrDto imageOcr = new ImageOcrDto(); BeanUtils.copyProperties(imageOcrDtoNew,imageOcr); String imageOcrNew = JSONObject.toJSONString(imageOcr); String sendPostJson = HttpRequestUtil.sendPost(ocrUrl,imageOcrNew); log.info("OCR识别结果:{}",sendPostJson); JSONObject jsonObject = JSONObject.parseObject(sendPostJson); JSONArray jsonObjectArray = jsonObject.getJSONArray("1.jpg"); if(!StringUtils.isEmpty(jsonObjectArray)){ StringBuilder stringBuilder = new StringBuilder(); for (int i=0;i<jsonObjectArray.size();i++) { JSONObject recipe = JSONObject.parseObject(jsonObjectArray.get(i).toString()); ImageOcrVO imageOcrVO = JSONObject.parseObject(String.valueOf(recipe), ImageOcrVO.class); if(org.apache.commons.lang.StringUtils.isNotBlank(imageOcrVO.getOCRText())){ stringBuilder.append(imageOcrVO.getOCRText()); } } imageReturnDto.setOCRText(stringBuilder.toString()); imageReturnDto.setImageData(base64String); return R.success(imageReturnDto); } else { R.fail("图片解析失败"); } } } catch (Exception e){ ErrorLogUtils.saveError(e); log.error("图片识别异常:{}",e.toString()); } return R.success(imageReturnDto); } 如何用postman测试如上方法
最新发布
06-19
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值