コード例 #1
0
        /// <summary>
        /// Gets the associated encoding, if any.
        /// </summary>
        /// <param name="element">The element to get the encoding from.</param>
        /// <returns>The discovered encoding or null.</returns>
        protected virtual Encoding GetEncoding(IHtmlMetaElement element)
        {
            var charset = element.Charset;

            if (charset != null)
            {
                charset = charset.Trim();

                if (TextEncoding.IsSupported(charset))
                {
                    return(TextEncoding.Resolve(charset));
                }
            }

            var shouldParseContent = element.HttpEquivalent.Isi(HeaderNames.ContentType);

            return(shouldParseContent ? TextEncoding.Parse(element.Content ?? String.Empty) : null);
        }
コード例 #2
0
ファイル: HtmlMetaElement.cs プロジェクト: zzc000/AngleSharp
        public Encoding GetEncoding()
        {
            var charset = Charset;

            if (charset != null)
            {
                charset = charset.Trim();

                if (TextEncoding.IsSupported(charset))
                {
                    return(TextEncoding.Resolve(charset));
                }
            }

            var equiv = HttpEquivalent;
            var shouldParseContent = equiv != null && equiv.Isi(HeaderNames.ContentType);

            return(shouldParseContent ? TextEncoding.Parse(Content ?? String.Empty) : null);
        }
コード例 #3
0
        /// <summary>
        /// Gets the specified charset, if there has been any specified.
        /// </summary>
        /// <returns>The encoding or null.</returns>
        public Encoding GetEncoding()
        {
            var charset = Charset;

            if (charset != null)
            {
                charset = charset.Trim();

                if (TextEncoding.IsSupported(charset))
                {
                    return(TextEncoding.Resolve(charset));
                }
            }

            var equiv = HttpEquivalent;

            if (equiv != null && equiv.Equals(HeaderNames.ContentType, StringComparison.OrdinalIgnoreCase))
            {
                return(TextEncoding.Parse(Content ?? String.Empty));
            }

            return(null);
        }