文档半岛外围网上直营>>telerik中文文档>>编码和纠错
编码和纠错
该Kendo UI for Angular 二维码支持不同的编码和纠错级别。
编码值
默认情况下,QR码值使用“ISO_8859_1”编码,它支持ISO/IEC 8859-1字符集中的所有字符。要启用对所有Unicode字符的支持,请将编码设置为"UTF_8"。
提示:UTF-8编码不包括在规范中,也不是所有阅读器都支持。
下面的示例展示了如何设置编码:
查看源代码:
app.component.ts:
import { Component } from '@angular/core';
@Component({
selector: 'my-app',
template: `
<div class="k-card k-text-center">
<div class="k-card-header">
<div class="k-card-title">
QR Code with Unicode characters
</div>
</div>
<div class="k-card-body">
<kendo-qrcode value="Unicode за всички ??"
encoding="UTF_8" size="150px">
</kendo-qrcode>
</div>
</div>
`
})
export class AppComponent {
}
app.module.ts:
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { BrowserModule } from '@angular/platform-browser';
import { BarcodesModule } from '@progress/kendo-angular-barcodes';
import { ButtonsModule } from '@progress/kendo-angular-buttons';
import { AppComponent } from './app.component';
@NgModule({
imports: [ BrowserModule, BarcodesModule, ButtonsModule, FormsModule ],
declarations: [ AppComponent ],
bootstrap: [ AppComponent ]
})
export class AppModule { }
main.ts:
import './polyfills';
import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app.module';
enableProdMode();
const platform = platformBrowserDynamic();
platform.bootstrapModule(AppModule);
纠错级别
二维码提供错误纠正和恢复,允许部分损坏或覆盖的QR码保持可读。每一个连续的纠错级别都提高了读者恢复原始信息的机会:
- “L”-7%的数据可以恢复。
- “M”-15%的数据可以恢复。
- “Q” -25%的数据可以恢复。
- “H”-30%的数据可以恢复。
如果您希望覆盖部分代码,例如,在使用覆盖时,请使用更高的错误纠正级别,二维码的大小可能需要增加来容纳额外的信息。
要设置错误纠正级别,使用errorCorrection属性:
app.component.ts:
import { Component } from '@angular/core';
import { QRCodeErrorCorrection } from '@progress/kendo-angular-barcodes';
@Component({
selector: 'my-app',
template: `
<div class="k-card-deck">
<div class="k-card k-text-center"
*ngFor="let level of levels">
<div class="k-card-header">
<div class="k-card-title">
Level "{{ level }}"
</div>
</div>
<div class="k-card-body">
<kendo-qrcode [value]="value" size="120px"
[errorCorrection]="level">
</kendo-qrcode>
</div>
</div>
</div>
`
})
export class AppComponent {
public value = '//en.wikipedia.org/wiki/QR_code#Error_correction';
public levels: QRCodeErrorCorrection[] = [ 'L', 'M', 'Q', 'H' ];
}
app.module.ts:
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { BrowserModule } from '@angular/platform-browser';
import { BarcodesModule } from '@progress/kendo-angular-barcodes';
import { ButtonsModule } from '@progress/kendo-angular-buttons';
import { AppComponent } from './app.component';
@NgModule({
imports: [ BrowserModule, BarcodesModule, ButtonsModule, FormsModule ],
declarations: [ AppComponent ],
bootstrap: [ AppComponent ]
})
export class AppModule { }
main.ts:
import './polyfills';
import { enableProdMode } from '@angular/core';
import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
import { AppModule } from './app.module';
enableProdMode();
const platform = platformBrowserDynamic();
platform.bootstrapModule(AppModule);

QQ交谈
在线咨询

渝公网安备
50010702500608号

客服热线