直接贴代码了:
#ifndef TEXTTOUNICODE_H
#define TEXTTOUNICODE_H
#include <QWidget>
namespace Ui
{
class TextToUnicode;
}
class TextToUnicode : public QWidget
{
Q_OBJECT
public:
explicit TextToUnicode(QWidget *parent = nullptr);
~TextToUnicode();
private slots:
void on_pushButton_clicked();
void on_pushButton_2_clicked();
private:
Ui::TextToUnicode *ui;
};
#endif // TEXTTOUNICODE_H
#include "texttounicode.h"
#include "ui_texttounicode.h"
#include <QTextCodec>
#include <QChar>
TextToUnicode::TextToUnicode(QWidget *parent) :
QWidget(parent),
ui(new Ui::TextToUnicode)
{
ui->setupUi(this);
}
TextToUnicode::~TextToUnicode()
{
delete ui;
}
void TextToUnicode::on_pushButton_clicked()
{
QString qsText = ui->textEdit->toPlainText();
QString qsShowText;
for (int i = 0; i < qsText.length(); i++)
{
QChar ch = qsText.at(i);
ushort num = ch.unicode();
qsShowText = qsShowText + "u/" + QString::number(num, 16);
}
ui->textEdit_2->setText(qsShowText);
}
void TextToUnicode::on_pushButton_2_clicked()
{
QString qsText = ui->textEdit->toPlainText();
QString test;
while (qsText.length() != 0)
{
QString qsTemp = qsText.left(6);
qsTemp = qsTemp.remove(0, 2);
bool ok = true;
ushort num = qsTemp.toUShort(&ok, 16);
QString qsShowText = QString::fromUtf16(&num, 1);
test = test + qsShowText;
qsText.remove(0, 6);
}
ui->textEdit_2->setText(test);
}