#include "mainwindow.h"
#include <QApplication>
#include<QTextCodec>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QTextCodec::setCodecForLocale(QTextCodec::codecForName("GBK"));
MainWindow w;
w.show();
return a.exec();
}
mainwindow.cpp
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QRegExp>
#include<QString>
#include<QDebug>
#include<QTextCodec>
#include<stdio.h>
#include<iostream>
using namespace std;
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QString str = QString("2012年11月09日 11时23分36秒 师父父");
qDebug()<<"----------------------"<<endl;
qDebug()<<"str to utf8 "<<str.toUtf8();
qDebug()<<"sssssssssss"<<QString::fromLocal8Bit(str.toUtf8());
qDebug()<<"str to toLatin1 "<<str.toLatin1();
qDebug()<<"str to toLocal8Bit "<<str.toLocal8Bit();
QRegExp rg("^\\d{4}\\D*\\d{1,2}\\D*\\d{1,2}\\D*\\s{0,}\\d{1,2}\\D*\\d{1,2}\\D*\\d{1,2}(\\s|\\D)\\s{0,}");
qDebug()<<"_____________________________"<<str;
qDebug()<<"____________________________________________________";
char tw[512] = "2011年11月09日11时23分36 王微微";
qDebug()<<"the char [] is "<<tw;
QString tw_str = QString::fromLocal8Bit(tw);
qDebug()<<"the str1 is "<<tw_str;
if(tw_str.contains("年"))
qDebug()<<"!!!!!!!!!!!!!!!!!!!!!!!!";
tw_str = tw_str.remove(rg);
if(tw_str.contains(rg))
qDebug()<<"wtg";
qDebug()<<"remove str is "<<tw_str;
}
MainWindow::~MainWindow()
{
delete ui;
}
QString MainWindow::GBK2UTF8(QByteArray &inStr)
{
QTextCodec *gbk = QTextCodec::codecForName("gbk");
QTextCodec *utf8 = QTextCodec::codecForName("UTF-8");
char *p = inStr.data();
QString str = gbk->toUnicode(p);
qDebug()<<"GBK2UTF8 "<<str;
QByteArray utf8_bytes=utf8->fromUnicode(str);
p = utf8_bytes.data();
str = p;
qDebug()<<"GBK2UTF8 "<<str;
return str;
}
QString MainWindow::UTF82GBK(QByteArray &inStr)
{
QTextCodec *gbk = QTextCodec::codecForName("gbk");
QTextCodec *utf8 = QTextCodec::codecForName("UTF-8");
char *p = inStr.data();
QString str = utf8->toUnicode(p);
QByteArray utf8_bytes=gbk->fromUnicode(str);
p = utf8_bytes.data();
str = p;
return str;
}