shift-jis 转 utf-8 c++

原创 2016年08月29日 15:32:07
#include "stdafx.h"
#include "shift_jisTo_utf_8.h"
#include <iostream>
#include <fstream>
using namespace std;
wchar_t* sjisToUnicode(char* src);
char* unicodeToUtf8(wchar_t* wText);
void main(){
	char *srcText = new char;

	fstream f("D:\\a.txt", ios::in | ios::binary);
	f >> srcText;
	f.close();

	wchar_t *tmp = sjisToUnicode(srcText);
	char *dstText = unicodeToUtf8(tmp);

	f.open("D:\\b.txt", ios::out | ios::binary);
	f << dstText;
	f.close();
}
wchar_t* sjisToUnicode(char* src)
{
	DWORD dwNum = MultiByteToWideChar(932, 0, src, -1, NULL, 0);
	wchar_t *dst = new wchar_t[dwNum];
	if (!dst)
	{
		delete[]dst;
	}
	MultiByteToWideChar(932, 0, src, -1, dst, dwNum);
	return dst;
}
char* unicodeToUtf8(wchar_t* wText)
{
	DWORD dwNum = WideCharToMultiByte(65001, NULL, wText, -1, NULL, 0, NULL, FALSE);
	char *psText;
	psText = new char[dwNum];
	if (!psText)
	{
		delete[]psText;
	}
	WideCharToMultiByte(
		65001
		, NULL, wText, -1, psText, dwNum, NULL, FALSE);
	return psText;
}

UTF-8转换成Shift_jis,识别非Shift_jis字符,如(~、①等)

闭月羞花猫 2007/11/27 于南京新城需求描述:       在读取一本UTF-8编码的文本文档,将其中的内容转换成Shift_jis编码,如果遇到       ~、① 之类不属于Shift_j...
  • luyang1016
  • luyang1016
  • 2007年11月27日 19:02
  • 6776

将utf8等编码格式转换为shift_jis格式

方法如下: 1. 使用 dpkg –i *.deb 安装 enca_1.12-1_i386.deb  libenca0_1.12-1_i386.deb  librecode0_3.6-17_i3...
  • whz_zb
  • whz_zb
  • 2012年02月22日 13:30
  • 3117

使用Emeditor转换编码(Shift-JS 到 UTF-8)

只是一次为了转换日文源码到中文源码时想到的.:-) /////////////////////日语编码2UTF-8.jsee////////////////////////////var fso = ...
  • dongzhiquan
  • dongzhiquan
  • 2010年08月24日 22:10
  • 2337

文件代码类型的相互转换,Shift_JIS、EUC-JP、ISO-2022-JP、 Unicode、UTF-8

  • 2009年11月01日 11:55
  • 16KB
  • 下载

常用编码:Shift_JIS, GBK,EUCKR,Big5,UTF8,CP1252

(1) Shift_JIS Shift_JIS是一个日本电脑系统常用的编码表。它能容纳全角及半角拉丁字母、平假名、片假名、符号及日语汉字。 它被命名为Shift_JIS的原因,是它在放置全角字符时...
  • hellofeiya
  • hellofeiya
  • 2012年12月27日 09:06
  • 13372

shift-jis 转 utf-8 c++

#include "stdafx.h" #include "shift_jisTo_utf_8.h" #include #include using namespace std; wchar_t*...
  • osummertime
  • osummertime
  • 2016年08月29日 15:32
  • 891

【转载】如何用VB6在中文系统下把Unicode编码的日文字符转成Shift-JIS编码

这个题目有点变态,不过有时确实会有这种需求,起码我就碰到过。同样变态的需求还有“如何用VB6在日文系统下把Unicode编码的中文字符转成GB2312编码”。这种需求有个比较时髦的名字,叫做“国际对应...
  • shallowgrave
  • shallowgrave
  • 2011年01月28日 11:49
  • 2966

c++ utf-8和unicode转换

//utf-8转unicode wchar_t *WebServiesGetWeather::Utf_8ToUnicode(char* szU8)   {    //UTF8 to Unicod...
  • qq471656957
  • qq471656957
  • 2016年06月03日 11:45
  • 504

C++中 Unicode 与 UTF-8 编码互转

1、简述最近在发送网络请求时遇到了中文字符乱码的问题,在代码中调试字符正常,用抓包工具抓的包中文字符显示正常,就是发送到服务器就显示乱码了,那就要将客户端和服务器设置统一的编码(UTF-8),而我们程...
  • GoForwardToStep
  • GoForwardToStep
  • 2016年11月17日 22:44
  • 8272

Ruby中关于日文转UTF-8及半角全角转换的技巧

1.日文转UTF-8Iconv.new(cp932, utf-8)与Iconv.new(shift_jis, utf-8)的区别Iconv.new(shift_jis, utf-8)不支持以下的格式:...
  • kunshan_shenbin
  • kunshan_shenbin
  • 2009年05月25日 09:48
  • 733
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:shift-jis 转 utf-8 c++
举报原因:
原因补充:

(最多只允许输入30个字)