我正在使用Delphi XE3。
我想知道PAnsiChar是否可以直接将Unicode字符串转换为指向Ansi字符串的指针,如下所示:
import { Component } from "@angular/core"
import { FormControl, FormGroup, FormBuilder, Validator, Validators,ReactiveFormsModule } from "@angular/forms";
import { customer } from '../model/customerModel'
import { Router } from "@angular/router";
export class regComponent
{
private Customer:customer;
private regForm:FormGroup;
private firstName:FormControl;
constructor (private formBuilder:FormBuilder,private router:Router)
{
this.firstName=new FormControl('',[Validators.required])
this.regForm=formBuilder.group({
firstName:this.firstName
})
console.log(this.regForm.value);
}
由于
答案 0 :(得分:1)
P1 := PAnsiChar(MyString);
这不执行任何转换。指针包含UTF-16数据的地址。相反,你需要:
P1 := PAnsiChar(AnsiString(MyString));
当然,编译器会在从UTF-16转换为ANSI时可能会丢失数据。你应该非常仔细地问自己为什么要考虑这个问题。
MyString1 := P1;
ANSI文本将转换为UTF-16。