文档彩票走势图>>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);