📄 varstring.cs
字号:
using System;
using System.Collections.Generic;
namespace SMPP.Variable
{
/// <summary>
/// 变长字符串类型
/// </summary>
public class VARString : VARBinary
{
/// <summary>
/// 编码类型字段索引
/// </summary>
private int EncodingFieldIndex = -1;
private System.Text.Encoding Encoding = System.Text.Encoding.ASCII;
/// <summary>
/// 字符串值
/// </summary>
public new string Value
{
get
{
System.Text.Encoding Encoder = EncodingFieldIndex == -1 ? this.Encoding : (Owner[EncodingFieldIndex] as Encoding).Encoder;
return Encoder.GetString(_Value);
}
set
{
System.Text.Encoding Encoder = EncodingFieldIndex == -1 ? this.Encoding : (Owner[EncodingFieldIndex] as Encoding).Encoder;
base.Value = Encoder.GetBytes(value);
}
}
/// <summary>
/// 创建变长字符串实例,长度倍数为1
/// </summary>
/// <param name="LengthFieldIndex">长度字段索引</param>
/// <param name="EncodingFieldIndex">编码器字段索引</param>
public VARString(int LengthFieldIndex, int EncodingFieldIndex)
: base(LengthFieldIndex)
{
this.EncodingFieldIndex = EncodingFieldIndex;
}
/// <summary>
/// 创建变长字符串实例,长度倍数为1
/// </summary>
/// <param name="LengthFieldIndex">长度字段索引</param>
public VARString(int LengthFieldIndex)
: base(LengthFieldIndex)
{
this.EncodingFieldIndex = -1;
}
/// <summary>
/// 创建变长字符串实例,长度倍数为1
/// </summary>
/// <param name="LengthFieldIndex">长度字段索引</param>
/// <param name="Encoding">编码器类型</param>
public VARString(int LengthFieldIndex, System.Text.Encoding Encoding)
: base(LengthFieldIndex)
{
this.EncodingFieldIndex = -1;
this.Encoding = Encoding;
}
/// <summary>
/// 创建变长字符串实例
/// </summary>
/// <param name="LengthFieldIndex">长度字段索引</param>
/// <param name="EncodingFieldIndex">编码器字段索引</param>
/// <param name="LenMultiple">长度倍数</param>
public VARString(int LengthFieldIndex, int EncodingFieldIndex, int LenMultiple)
: base(LengthFieldIndex, LenMultiple)
{
this.EncodingFieldIndex = EncodingFieldIndex;
}
/// <summary>
/// 创建变长字符串实例
/// </summary>
/// <param name="LengthFieldIndex">长度字段索引</param>
/// <param name="Encoding">编码器类型</param>
/// <param name="LenMultiple">长度倍数</param>
public VARString(int LengthFieldIndex, System.Text.Encoding Encoding, int LenMultiple)
: base(LengthFieldIndex, LenMultiple)
{
this.EncodingFieldIndex = -1;
this.Encoding = Encoding;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -